@etothepii/satisfactory-file-parser 3.1.3 → 3.2.3

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 (528) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +1 -0
  3. package/build/index.d.ts +1 -0
  4. package/build/index.d.ts.map +1 -1
  5. package/build/index.js +1 -0
  6. package/build/index.js.map +1 -1
  7. package/build/parser/context/context.d.ts +1 -0
  8. package/build/parser/context/context.d.ts.map +1 -1
  9. package/build/parser/context/context.js.map +1 -1
  10. package/build/parser/parser.d.ts.map +1 -1
  11. package/build/parser/parser.js +4 -4
  12. package/build/parser/parser.js.map +1 -1
  13. package/build/parser/satisfactory/save/satisfactory-save-header.d.ts.map +1 -1
  14. package/build/parser/satisfactory/save/satisfactory-save-header.js +4 -3
  15. package/build/parser/satisfactory/save/satisfactory-save-header.js.map +1 -1
  16. package/build/parser/satisfactory/save/satisfactory-save.d.ts +2 -3
  17. package/build/parser/satisfactory/save/satisfactory-save.d.ts.map +1 -1
  18. package/build/parser/satisfactory/save/satisfactory-save.js +1 -2
  19. package/build/parser/satisfactory/save/satisfactory-save.js.map +1 -1
  20. package/build/parser/satisfactory/save/save-reader.d.ts +0 -20
  21. package/build/parser/satisfactory/save/save-reader.d.ts.map +1 -1
  22. package/build/parser/satisfactory/save/save-reader.js +0 -46
  23. package/build/parser/satisfactory/save/save-reader.js.map +1 -1
  24. package/build/parser/satisfactory/save/save-writer.d.ts +0 -3
  25. package/build/parser/satisfactory/save/save-writer.d.ts.map +1 -1
  26. package/build/parser/satisfactory/save/save-writer.js +0 -25
  27. package/build/parser/satisfactory/save/save-writer.js.map +1 -1
  28. package/build/parser/satisfactory/types/property/PropertiesList.js +1 -1
  29. package/build/parser/satisfactory/types/property/PropertiesList.js.map +1 -1
  30. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts +1 -1
  31. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts.map +1 -1
  32. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.js.map +1 -1
  33. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts +3 -3
  34. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts.map +1 -1
  35. package/build/parser/satisfactory/types/property/generic/MapProperty.js +12 -2
  36. package/build/parser/satisfactory/types/property/generic/MapProperty.js.map +1 -1
  37. package/build/parser/satisfactory/types/structs/FGDynamicStruct.d.ts +1 -0
  38. package/build/parser/satisfactory/types/structs/FGDynamicStruct.d.ts.map +1 -1
  39. package/build/parser/satisfactory/types/structs/FGDynamicStruct.js +20 -13
  40. package/build/parser/satisfactory/types/structs/FGDynamicStruct.js.map +1 -1
  41. package/build/parser/satisfactory/types/structs/SaveBodyValidation.d.ts +19 -0
  42. package/build/parser/satisfactory/types/structs/SaveBodyValidation.d.ts.map +1 -0
  43. package/build/parser/satisfactory/types/structs/SaveBodyValidation.js +41 -0
  44. package/build/parser/satisfactory/types/structs/SaveBodyValidation.js.map +1 -0
  45. package/build/parser/satisfactory/types/structs/mods/FicsItNetworks/FINItemStateFileSystem.d.ts +12 -0
  46. package/build/parser/satisfactory/types/structs/mods/FicsItNetworks/FINItemStateFileSystem.d.ts.map +1 -0
  47. package/build/parser/satisfactory/types/structs/mods/FicsItNetworks/FINItemStateFileSystem.js +22 -0
  48. package/build/parser/satisfactory/types/structs/mods/FicsItNetworks/FINItemStateFileSystem.js.map +1 -0
  49. package/build/parser/stream/reworked/readable-stream-parser.d.ts +1 -1
  50. package/build/parser/stream/reworked/readable-stream-parser.d.ts.map +1 -1
  51. package/build/parser/stream/reworked/readable-stream-parser.js +6 -8
  52. package/build/parser/stream/reworked/readable-stream-parser.js.map +1 -1
  53. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts.map +1 -1
  54. package/build/parser/stream/reworked/save-stream-json-stringifier.js +1 -2
  55. package/build/parser/stream/reworked/save-stream-json-stringifier.js.map +1 -1
  56. package/build/parser/stream/reworked/save-stream-writer.class.d.ts +2 -3
  57. package/build/parser/stream/reworked/save-stream-writer.class.d.ts.map +1 -1
  58. package/build/parser/stream/reworked/save-stream-writer.class.js +4 -7
  59. package/build/parser/stream/reworked/save-stream-writer.class.js.map +1 -1
  60. package/docs/assets/navigation.js +1 -1
  61. package/docs/assets/search.js +1 -1
  62. package/docs/classes/BlueprintConfigReader.html +4 -4
  63. package/docs/classes/BlueprintConfigWriter.html +4 -4
  64. package/docs/classes/BlueprintReader.html +4 -4
  65. package/docs/classes/BlueprintWriter.html +4 -4
  66. package/docs/classes/CompressionLibraryError.html +2 -2
  67. package/docs/classes/CorruptBlueprintError.html +2 -2
  68. package/docs/classes/CorruptSaveError.html +2 -2
  69. package/docs/classes/Parser.html +6 -6
  70. package/docs/classes/ParserError.html +2 -2
  71. package/docs/classes/ReadableStreamParser.html +2 -2
  72. package/docs/classes/SatisfactorySave.html +3 -4
  73. package/docs/classes/SaveComponent.html +2 -2
  74. package/docs/classes/SaveEntity.html +2 -2
  75. package/docs/classes/SaveObject.html +2 -2
  76. package/docs/classes/SaveReader.html +4 -5
  77. package/docs/classes/SaveStreamJsonStringifier.html +2 -2
  78. package/docs/classes/SaveStreamWriter.html +3 -4
  79. package/docs/classes/SaveWriter.html +4 -5
  80. package/docs/classes/TimeoutError.html +2 -2
  81. package/docs/classes/UnimplementedError.html +2 -2
  82. package/docs/classes/UnsupportedVersionError.html +2 -2
  83. package/docs/enums/BlueprintConfigVersion.html +2 -2
  84. package/docs/enums/BlueprintHeaderVersion.html +2 -2
  85. package/docs/enums/CompressionAlgorithmCode.html +2 -2
  86. package/docs/enums/FactoryGameCustomVersion.html +2 -2
  87. package/docs/enums/RuntimeBuildableInstanceDataVersion.html +2 -2
  88. package/docs/enums/SaveCustomVersion.html +10 -10
  89. package/docs/enums/SaveHeaderType.html +2 -2
  90. package/docs/functions/AbstractBaseProperty.Create.html +1 -1
  91. package/docs/functions/ArrayProperty.CalcOverhead.html +1 -1
  92. package/docs/functions/ArrayProperty.Parse.html +1 -1
  93. package/docs/functions/ArrayProperty.Serialize.html +1 -1
  94. package/docs/functions/BlueprintConfig.Parse.html +1 -1
  95. package/docs/functions/BlueprintConfig.Serialize.html +1 -1
  96. package/docs/functions/BlueprintHeader.Parse.html +1 -1
  97. package/docs/functions/BlueprintHeader.Serialize.html +1 -1
  98. package/docs/functions/BoolArrayProperty.Parse.html +1 -1
  99. package/docs/functions/BoolArrayProperty.Serialize.html +1 -1
  100. package/docs/functions/BoolProperty.CalcOverhead.html +1 -1
  101. package/docs/functions/BoolProperty.Parse.html +1 -1
  102. package/docs/functions/BoolProperty.ReadValue.html +1 -1
  103. package/docs/functions/BoolProperty.Serialize.html +1 -1
  104. package/docs/functions/BoolProperty.SerializeValue.html +1 -1
  105. package/docs/functions/BuildableSubsystemSpecialProperties.Parse.html +1 -1
  106. package/docs/functions/BuildableSubsystemSpecialProperties.Serialize.html +1 -1
  107. package/docs/functions/BuildableTypeInstance.Parse.html +1 -1
  108. package/docs/functions/BuildableTypeInstance.Serialize.html +1 -1
  109. package/docs/functions/ByteArrayProperty.Parse.html +1 -1
  110. package/docs/functions/ByteArrayProperty.Serialize.html +1 -1
  111. package/docs/functions/ByteProperty.CalcOverhead.html +1 -1
  112. package/docs/functions/ByteProperty.Parse.html +1 -1
  113. package/docs/functions/ByteProperty.ReadValue.html +1 -1
  114. package/docs/functions/ByteProperty.Serialize.html +1 -1
  115. package/docs/functions/ByteProperty.SerializeValue.html +1 -1
  116. package/docs/functions/CircuitSpecialProperties.Parse.html +1 -1
  117. package/docs/functions/CircuitSpecialProperties.Serialize.html +1 -1
  118. package/docs/functions/ConveyorChainActorSpecialProperties.Parse.html +1 -1
  119. package/docs/functions/ConveyorChainActorSpecialProperties.Serialize.html +1 -1
  120. package/docs/functions/ConveyorSpecialProperties.Parse.html +1 -1
  121. package/docs/functions/ConveyorSpecialProperties.Serialize.html +1 -1
  122. package/docs/functions/DoubleArrayProperty.Parse.html +1 -1
  123. package/docs/functions/DoubleArrayProperty.Serialize.html +1 -1
  124. package/docs/functions/DoubleProperty.CalcOverhead.html +1 -1
  125. package/docs/functions/DoubleProperty.Parse.html +1 -1
  126. package/docs/functions/DoubleProperty.ReadValue.html +1 -1
  127. package/docs/functions/DoubleProperty.Serialize.html +1 -1
  128. package/docs/functions/DoubleProperty.SerializeValue.html +1 -1
  129. package/docs/functions/DynamicStructPropertyValue.read.html +1 -1
  130. package/docs/functions/DynamicStructPropertyValue.write.html +1 -1
  131. package/docs/functions/EmptySpecialProperties.Parse.html +1 -1
  132. package/docs/functions/EmptySpecialProperties.Serialize.html +1 -1
  133. package/docs/functions/EnumArrayProperty.Parse.html +1 -1
  134. package/docs/functions/EnumArrayProperty.Serialize.html +1 -1
  135. package/docs/functions/EnumProperty.CalcOverhead.html +1 -1
  136. package/docs/functions/EnumProperty.Parse.html +1 -1
  137. package/docs/functions/EnumProperty.ReadValue.html +1 -1
  138. package/docs/functions/EnumProperty.Serialize.html +1 -1
  139. package/docs/functions/EnumProperty.SerializeValue.html +1 -1
  140. package/docs/functions/FGDynamicStruct.Parse.html +1 -1
  141. package/docs/functions/FGDynamicStruct.Serialize.html +1 -1
  142. package/docs/functions/FICFrameRange.Parse.html +1 -1
  143. package/docs/functions/FICFrameRange.Serialize.html +1 -1
  144. package/docs/functions/FloatArrayProperty.Parse.html +1 -1
  145. package/docs/functions/FloatArrayProperty.Serialize.html +1 -1
  146. package/docs/functions/FloatProperty.CalcOverhead.html +1 -1
  147. package/docs/functions/FloatProperty.Parse.html +1 -1
  148. package/docs/functions/FloatProperty.ReadValue.html +1 -1
  149. package/docs/functions/FloatProperty.Serialize.html +1 -1
  150. package/docs/functions/FloatProperty.SerializeValue.html +1 -1
  151. package/docs/functions/GUID.read.html +1 -1
  152. package/docs/functions/GUID.write.html +1 -1
  153. package/docs/functions/GUIDInfo.read.html +1 -1
  154. package/docs/functions/GUIDInfo.write.html +1 -1
  155. package/docs/functions/Int32ArrayProperty.Parse.html +1 -1
  156. package/docs/functions/Int32ArrayProperty.Serialize.html +1 -1
  157. package/docs/functions/Int32Property.CalcOverhead.html +1 -1
  158. package/docs/functions/Int32Property.Parse.html +1 -1
  159. package/docs/functions/Int32Property.ReadValue.html +1 -1
  160. package/docs/functions/Int32Property.Serialize.html +1 -1
  161. package/docs/functions/Int32Property.SerializeValue.html +1 -1
  162. package/docs/functions/Int32SetProperty.Parse.html +1 -1
  163. package/docs/functions/Int32SetProperty.Serialize.html +1 -1
  164. package/docs/functions/Int64ArrayProperty.Parse.html +1 -1
  165. package/docs/functions/Int64ArrayProperty.Serialize.html +1 -1
  166. package/docs/functions/Int64Property.CalcOverhead.html +1 -1
  167. package/docs/functions/Int64Property.Parse.html +1 -1
  168. package/docs/functions/Int64Property.ReadValue.html +1 -1
  169. package/docs/functions/Int64Property.Serialize.html +1 -1
  170. package/docs/functions/Int64Property.SerializeValue.html +1 -1
  171. package/docs/functions/Int8Property.CalcOverhead.html +1 -1
  172. package/docs/functions/Int8Property.Parse.html +1 -1
  173. package/docs/functions/Int8Property.ReadValue.html +1 -1
  174. package/docs/functions/Int8Property.Serialize.html +1 -1
  175. package/docs/functions/Int8Property.SerializeValue.html +1 -1
  176. package/docs/functions/Level.ReadAllObjectContents.html +1 -1
  177. package/docs/functions/Level.ReadAllObjectHeaders.html +1 -1
  178. package/docs/functions/Level.ReadLevel.html +1 -1
  179. package/docs/functions/Level.ReadNObjectContents.html +1 -1
  180. package/docs/functions/Level.ReadNObjectHeaders.html +1 -1
  181. package/docs/functions/Level.SerializeAllObjectContents.html +1 -1
  182. package/docs/functions/Level.SerializeAllObjectHeaders.html +1 -1
  183. package/docs/functions/Level.SerializeLevel.html +1 -1
  184. package/docs/functions/LevelToDestroyedActorsMap.read.html +1 -1
  185. package/docs/functions/LevelToDestroyedActorsMap.write.html +1 -1
  186. package/docs/functions/MD5Hash.read.html +1 -1
  187. package/docs/functions/MD5Hash.write.html +1 -1
  188. package/docs/functions/MapProperty.CalcOverhead.html +1 -1
  189. package/docs/functions/MapProperty.Parse.html +1 -1
  190. package/docs/functions/MapProperty.Serialize.html +1 -1
  191. package/docs/functions/ObjectArrayProperty.Parse.html +1 -1
  192. package/docs/functions/ObjectArrayProperty.Serialize.html +1 -1
  193. package/docs/functions/ObjectProperty.CalcOverhead.html +1 -1
  194. package/docs/functions/ObjectProperty.Parse.html +1 -1
  195. package/docs/functions/ObjectProperty.ReadValue.html +1 -1
  196. package/docs/functions/ObjectProperty.Serialize.html +1 -1
  197. package/docs/functions/ObjectProperty.SerializeValue.html +1 -1
  198. package/docs/functions/ObjectReference.IsEqual.html +1 -1
  199. package/docs/functions/ObjectReference.read.html +1 -1
  200. package/docs/functions/ObjectReference.write.html +1 -1
  201. package/docs/functions/ObjectSetProperty.Parse.html +1 -1
  202. package/docs/functions/ObjectSetProperty.Serialize.html +1 -1
  203. package/docs/functions/ObjectsListSpecialProperties.Parse.html +1 -1
  204. package/docs/functions/ObjectsListSpecialProperties.Serialize.html +1 -1
  205. package/docs/functions/PlayerSpecialProperties.Parse.html +1 -1
  206. package/docs/functions/PlayerSpecialProperties.Serialize.html +1 -1
  207. package/docs/functions/PowerLineSpecialProperties.Parse.html +1 -1
  208. package/docs/functions/PowerLineSpecialProperties.Serialize.html +1 -1
  209. package/docs/functions/PropertiesList.ParseList.html +1 -1
  210. package/docs/functions/PropertiesList.ParseSingleProperty.html +1 -1
  211. package/docs/functions/PropertiesList.SerializeList.html +1 -1
  212. package/docs/functions/PropertiesList.SerializeSingleProperty.html +1 -1
  213. package/docs/functions/SatisfactorySaveHeader.Parse.html +1 -1
  214. package/docs/functions/SatisfactorySaveHeader.Serialize.html +1 -1
  215. package/docs/functions/SaveBodyChunks.CompressDataIntoChunks.html +1 -1
  216. package/docs/functions/SaveBodyChunks.DecompressChunks.html +1 -1
  217. package/docs/functions/SaveBodyValidation.Parse.html +1 -0
  218. package/docs/functions/SaveBodyValidation.Serialize.html +1 -0
  219. package/docs/functions/SetProperty.CalcOverhead.html +1 -1
  220. package/docs/functions/SetProperty.Parse.html +1 -1
  221. package/docs/functions/SetProperty.Serialize.html +1 -1
  222. package/docs/functions/SoftObjectArrayProperty.Parse.html +1 -1
  223. package/docs/functions/SoftObjectArrayProperty.Serialize.html +1 -1
  224. package/docs/functions/SoftObjectReference.read.html +1 -1
  225. package/docs/functions/SoftObjectReference.write.html +1 -1
  226. package/docs/functions/SpecialDroneActionProperties.Parse.html +1 -1
  227. package/docs/functions/SpecialDroneActionProperties.Serialize.html +1 -1
  228. package/docs/functions/SpecialProperties.ParseClassSpecificSpecialProperties.html +1 -1
  229. package/docs/functions/SpecialProperties.SerializeClassSpecificSpecialProperties.html +1 -1
  230. package/docs/functions/StrArrayProperty.Parse.html +1 -1
  231. package/docs/functions/StrArrayProperty.Serialize.html +1 -1
  232. package/docs/functions/StrProperty.CalcOverhead.html +1 -1
  233. package/docs/functions/StrProperty.Parse.html +1 -1
  234. package/docs/functions/StrProperty.ReadValue.html +1 -1
  235. package/docs/functions/StrProperty.Serialize.html +1 -1
  236. package/docs/functions/StrProperty.SerializeValue.html +1 -1
  237. package/docs/functions/StrSetProperty.Parse.html +1 -1
  238. package/docs/functions/StrSetProperty.Serialize.html +1 -1
  239. package/docs/functions/StructArrayProperty.Parse.html +1 -1
  240. package/docs/functions/StructArrayProperty.Serialize.html +1 -1
  241. package/docs/functions/StructProperty.CalcOverhead.html +1 -1
  242. package/docs/functions/StructProperty.Parse.html +1 -1
  243. package/docs/functions/StructProperty.ParseValue.html +1 -1
  244. package/docs/functions/StructProperty.Serialize.html +1 -1
  245. package/docs/functions/StructProperty.SerializeValue.html +1 -1
  246. package/docs/functions/StructSetProperty.Parse.html +1 -1
  247. package/docs/functions/StructSetProperty.Serialize.html +1 -1
  248. package/docs/functions/TextArrayProperty.Parse.html +1 -1
  249. package/docs/functions/TextArrayProperty.Serialize.html +1 -1
  250. package/docs/functions/TextProperty.CalcOverhead.html +1 -1
  251. package/docs/functions/TextProperty.Parse.html +1 -1
  252. package/docs/functions/TextProperty.ReadValue.html +1 -1
  253. package/docs/functions/TextProperty.Serialize.html +1 -1
  254. package/docs/functions/TextProperty.SerializeValue.html +1 -1
  255. package/docs/functions/Transform.Parse.html +1 -1
  256. package/docs/functions/Transform.ParseF.html +1 -1
  257. package/docs/functions/Transform.Serialize.html +1 -1
  258. package/docs/functions/Transform.SerializeF.html +1 -1
  259. package/docs/functions/Uint32Property.CalcOverhead.html +1 -1
  260. package/docs/functions/Uint32Property.Parse.html +1 -1
  261. package/docs/functions/Uint32Property.ReadValue.html +1 -1
  262. package/docs/functions/Uint32Property.Serialize.html +1 -1
  263. package/docs/functions/Uint32Property.SerializeValue.html +1 -1
  264. package/docs/functions/Uint32SetProperty.Parse.html +1 -1
  265. package/docs/functions/Uint32SetProperty.Serialize.html +1 -1
  266. package/docs/functions/Uint64Property.CalcOverhead.html +1 -1
  267. package/docs/functions/Uint64Property.Parse.html +1 -1
  268. package/docs/functions/Uint64Property.ReadValue.html +1 -1
  269. package/docs/functions/Uint64Property.Serialize.html +1 -1
  270. package/docs/functions/Uint64Property.SerializeValue.html +1 -1
  271. package/docs/functions/Uint8Property.CalcOverhead.html +1 -1
  272. package/docs/functions/Uint8Property.Parse.html +1 -1
  273. package/docs/functions/Uint8Property.ReadValue.html +1 -1
  274. package/docs/functions/Uint8Property.Serialize.html +1 -1
  275. package/docs/functions/Uint8Property.SerializeValue.html +1 -1
  276. package/docs/functions/VehiclePhysicsData.Parse.html +1 -1
  277. package/docs/functions/VehiclePhysicsData.Serialize.html +1 -1
  278. package/docs/functions/VehicleSpecialProperties.Parse.html +1 -1
  279. package/docs/functions/VehicleSpecialProperties.Serialize.html +1 -1
  280. package/docs/functions/col4.ParseBGRA.html +1 -1
  281. package/docs/functions/col4.ParseRGBA.html +1 -1
  282. package/docs/functions/col4.SerializeBGRA.html +1 -1
  283. package/docs/functions/col4.SerializeRGBA.html +1 -1
  284. package/docs/functions/isArrayProperty.html +1 -1
  285. package/docs/functions/isBoolArrayProperty.html +1 -1
  286. package/docs/functions/isBoolProperty.html +1 -1
  287. package/docs/functions/isBuildableSubsystemSpecialProperties.html +1 -1
  288. package/docs/functions/isByteArrayProperty.html +1 -1
  289. package/docs/functions/isByteProperty.html +1 -1
  290. package/docs/functions/isCircuitSpecialProperties.html +1 -1
  291. package/docs/functions/isConveyorChainActorSpecialProperties.html +1 -1
  292. package/docs/functions/isConveyorSpecialProperties.html +1 -1
  293. package/docs/functions/isDoubleArrayProperty.html +1 -1
  294. package/docs/functions/isDoubleProperty.html +1 -1
  295. package/docs/functions/isEmptySpecialProperties.html +1 -1
  296. package/docs/functions/isEnumArrayProperty.html +1 -1
  297. package/docs/functions/isEnumProperty.html +1 -1
  298. package/docs/functions/isFloatArrayProperty.html +1 -1
  299. package/docs/functions/isFloatProperty.html +1 -1
  300. package/docs/functions/isInt32ArrayProperty.html +1 -1
  301. package/docs/functions/isInt32Property.html +1 -1
  302. package/docs/functions/isInt32SetProperty.html +1 -1
  303. package/docs/functions/isInt64ArrayProperty.html +1 -1
  304. package/docs/functions/isInt64Property.html +1 -1
  305. package/docs/functions/isInt8Property.html +1 -1
  306. package/docs/functions/isMapProperty.html +1 -1
  307. package/docs/functions/isObjectArrayProperty.html +1 -1
  308. package/docs/functions/isObjectProperty.html +1 -1
  309. package/docs/functions/isObjectSetProperty.html +1 -1
  310. package/docs/functions/isObjectsListSpecialProperties.html +1 -1
  311. package/docs/functions/isPlayerSpecialProperties.html +1 -1
  312. package/docs/functions/isPowerLineSpecialProperties.html +1 -1
  313. package/docs/functions/isSaveComponent.html +1 -1
  314. package/docs/functions/isSaveEntity.html +1 -1
  315. package/docs/functions/isSetProperty.html +1 -1
  316. package/docs/functions/isSoftObjectArrayProperty.html +1 -1
  317. package/docs/functions/isSpecialDroneActionProperties.html +1 -1
  318. package/docs/functions/isStrArrayProperty.html +1 -1
  319. package/docs/functions/isStrProperty.html +1 -1
  320. package/docs/functions/isStrSetProperty.html +1 -1
  321. package/docs/functions/isStructArrayProperty.html +1 -1
  322. package/docs/functions/isStructProperty.html +1 -1
  323. package/docs/functions/isStructSetProperty.html +1 -1
  324. package/docs/functions/isTextArrayProperty.html +1 -1
  325. package/docs/functions/isTextProperty.html +1 -1
  326. package/docs/functions/isUInt64Property.html +1 -1
  327. package/docs/functions/isUint32Property.html +1 -1
  328. package/docs/functions/isUint32SetProperty.html +1 -1
  329. package/docs/functions/isUint8Property.html +1 -1
  330. package/docs/functions/isVehicleSpecialProperties.html +1 -1
  331. package/docs/functions/vec2.Parse.html +1 -1
  332. package/docs/functions/vec2.ParseF.html +1 -1
  333. package/docs/functions/vec2.Serialize.html +1 -1
  334. package/docs/functions/vec2.SerializeF.html +1 -1
  335. package/docs/functions/vec3.Parse.html +1 -1
  336. package/docs/functions/vec3.ParseF.html +1 -1
  337. package/docs/functions/vec3.ParseInt.html +1 -1
  338. package/docs/functions/vec3.Serialize.html +1 -1
  339. package/docs/functions/vec3.SerializeF.html +1 -1
  340. package/docs/functions/vec3.SerializeInt.html +1 -1
  341. package/docs/functions/vec3.add.html +1 -1
  342. package/docs/functions/vec3.length.html +1 -1
  343. package/docs/functions/vec3.mult.html +1 -1
  344. package/docs/functions/vec3.norm.html +1 -1
  345. package/docs/functions/vec3.sub.html +1 -1
  346. package/docs/functions/vec4.Parse.html +1 -1
  347. package/docs/functions/vec4.ParseF.html +1 -1
  348. package/docs/functions/vec4.Serialize.html +1 -1
  349. package/docs/functions/vec4.SerializeF.html +1 -1
  350. package/docs/index.html +2 -1
  351. package/docs/interfaces/Blueprint.html +2 -2
  352. package/docs/interfaces/BlueprintConfig-1.html +2 -2
  353. package/docs/interfaces/SaveComponentHeader.html +2 -2
  354. package/docs/interfaces/SaveEntityHeader.html +2 -2
  355. package/docs/interfaces/SaveObjectHeader.html +2 -2
  356. package/docs/modules/AbstractBaseProperty.html +1 -1
  357. package/docs/modules/ArrayProperty.html +1 -1
  358. package/docs/modules/BlueprintConfig.html +1 -1
  359. package/docs/modules/BlueprintHeader.html +1 -1
  360. package/docs/modules/BoolArrayProperty.html +1 -1
  361. package/docs/modules/BoolProperty.html +1 -1
  362. package/docs/modules/BuildableSubsystemSpecialProperties.html +1 -1
  363. package/docs/modules/BuildableTypeInstance.html +1 -1
  364. package/docs/modules/ByteArrayProperty.html +1 -1
  365. package/docs/modules/ByteProperty.html +1 -1
  366. package/docs/modules/CircuitSpecialProperties.html +1 -1
  367. package/docs/modules/ConveyorChainActorSpecialProperties.html +1 -1
  368. package/docs/modules/ConveyorSpecialProperties.html +1 -1
  369. package/docs/modules/DoubleArrayProperty.html +1 -1
  370. package/docs/modules/DoubleProperty.html +1 -1
  371. package/docs/modules/DynamicStructPropertyValue.html +1 -1
  372. package/docs/modules/EmptySpecialProperties.html +1 -1
  373. package/docs/modules/EnumArrayProperty.html +1 -1
  374. package/docs/modules/EnumProperty.html +1 -1
  375. package/docs/modules/FGDynamicStruct.html +1 -1
  376. package/docs/modules/FICFrameRange.html +1 -1
  377. package/docs/modules/FloatArrayProperty.html +1 -1
  378. package/docs/modules/FloatProperty.html +1 -1
  379. package/docs/modules/GUID.html +1 -1
  380. package/docs/modules/GUIDInfo.html +1 -1
  381. package/docs/modules/Int32ArrayProperty.html +1 -1
  382. package/docs/modules/Int32Property.html +1 -1
  383. package/docs/modules/Int32SetProperty.html +1 -1
  384. package/docs/modules/Int64ArrayProperty.html +1 -1
  385. package/docs/modules/Int64Property.html +1 -1
  386. package/docs/modules/Int8Property.html +1 -1
  387. package/docs/modules/Level.html +1 -1
  388. package/docs/modules/LevelToDestroyedActorsMap.html +1 -1
  389. package/docs/modules/MD5Hash.html +1 -1
  390. package/docs/modules/MapProperty.html +1 -1
  391. package/docs/modules/ObjectArrayProperty.html +1 -1
  392. package/docs/modules/ObjectProperty.html +1 -1
  393. package/docs/modules/ObjectReference.html +1 -1
  394. package/docs/modules/ObjectSetProperty.html +1 -1
  395. package/docs/modules/ObjectsListSpecialProperties.html +1 -1
  396. package/docs/modules/PlayerSpecialProperties.html +1 -1
  397. package/docs/modules/PowerLineSpecialProperties.html +1 -1
  398. package/docs/modules/PropertiesList.html +1 -1
  399. package/docs/modules/SatisfactorySaveHeader.html +1 -1
  400. package/docs/modules/SaveBodyChunks.html +1 -1
  401. package/docs/modules/SaveBodyValidation.html +6 -0
  402. package/docs/modules/SetProperty.html +1 -1
  403. package/docs/modules/SoftObjectArrayProperty.html +1 -1
  404. package/docs/modules/SoftObjectReference.html +1 -1
  405. package/docs/modules/SpecialDroneActionProperties.html +1 -1
  406. package/docs/modules/SpecialProperties.html +1 -1
  407. package/docs/modules/StrArrayProperty.html +1 -1
  408. package/docs/modules/StrProperty.html +1 -1
  409. package/docs/modules/StrSetProperty.html +1 -1
  410. package/docs/modules/StructArrayProperty.html +1 -1
  411. package/docs/modules/StructProperty.html +1 -1
  412. package/docs/modules/StructSetProperty.html +1 -1
  413. package/docs/modules/TextArrayProperty.html +1 -1
  414. package/docs/modules/TextProperty.html +1 -1
  415. package/docs/modules/Transform.html +1 -1
  416. package/docs/modules/Uint32Property.html +1 -1
  417. package/docs/modules/Uint32SetProperty.html +1 -1
  418. package/docs/modules/Uint64Property.html +1 -1
  419. package/docs/modules/Uint8Property.html +1 -1
  420. package/docs/modules/VehiclePhysicsData.html +1 -1
  421. package/docs/modules/VehicleSpecialProperties.html +1 -1
  422. package/docs/modules/col4.html +1 -1
  423. package/docs/modules/vec2.html +1 -1
  424. package/docs/modules/vec3.html +1 -1
  425. package/docs/modules/vec4.html +1 -1
  426. package/docs/modules.html +3 -3
  427. package/docs/types/AbstractBaseProperty-1.html +1 -1
  428. package/docs/types/ArrayProperty.AvailableArrayPropertyTypes.html +1 -1
  429. package/docs/types/ArrayPropertyStructValueFields.html +1 -1
  430. package/docs/types/BasicMultipleStructPropertyValue.html +1 -1
  431. package/docs/types/BasicStructPropertyValue.html +1 -1
  432. package/docs/types/BlueprintHeader-1.html +1 -1
  433. package/docs/types/BoolArrayProperty-1.html +1 -1
  434. package/docs/types/BoolProperty-1.html +1 -1
  435. package/docs/types/BoxStructPropertyValue.html +1 -1
  436. package/docs/types/BuildableSubsystemSpecialProperties-1.html +1 -1
  437. package/docs/types/BuildableTypeInstance-1.html +1 -1
  438. package/docs/types/ByteArrayProperty-1.html +1 -1
  439. package/docs/types/ByteProperty-1.html +1 -1
  440. package/docs/types/BytePropertyValue.html +1 -1
  441. package/docs/types/ChunkCompressionInfo.html +1 -1
  442. package/docs/types/ChunkSummary.html +1 -1
  443. package/docs/types/CircuitSpecialProperties-1.html +1 -1
  444. package/docs/types/ClientIdentityInfo.html +1 -1
  445. package/docs/types/ConveyorChainActorSpecialProperties-1.html +1 -1
  446. package/docs/types/ConveyorChainSegmentSpecialProperties.html +1 -1
  447. package/docs/types/ConveyorItemSpecialProperties.html +1 -1
  448. package/docs/types/ConveyorSpecialProperties-1.html +1 -1
  449. package/docs/types/DoubleArrayProperty-1.html +1 -1
  450. package/docs/types/DoubleProperty-1.html +1 -1
  451. package/docs/types/DynamicStructPropertyValue-1.html +1 -1
  452. package/docs/types/EmptySpecialProperties-1.html +1 -1
  453. package/docs/types/EnumArrayProperty-1.html +1 -1
  454. package/docs/types/EnumProperty-1.html +1 -1
  455. package/docs/types/FGDynamicStruct-1.html +6 -1
  456. package/docs/types/FICFrameRange-1.html +1 -1
  457. package/docs/types/FICFrameRangeStructPropertyValue.html +1 -1
  458. package/docs/types/FloatArrayProperty-1.html +1 -1
  459. package/docs/types/FloatProperty-1.html +1 -1
  460. package/docs/types/GENERIC_MAP_KEY_TYPE.html +1 -1
  461. package/docs/types/GENERIC_MAP_VALUE_TYPE.html +1 -1
  462. package/docs/types/GENERIC_STRUCT_PROPERTY_VALUE.html +1 -1
  463. package/docs/types/GUID-1.html +1 -1
  464. package/docs/types/GUIDInfo-1.html +1 -1
  465. package/docs/types/Grids.html +1 -1
  466. package/docs/types/Int32ArrayProperty-1.html +1 -1
  467. package/docs/types/Int32Property-1.html +1 -1
  468. package/docs/types/Int32SetProperty-1.html +1 -1
  469. package/docs/types/Int64ArrayProperty-1.html +1 -1
  470. package/docs/types/Int64Property-1.html +1 -1
  471. package/docs/types/Int8Property-1.html +1 -1
  472. package/docs/types/InventoryItemStructPropertyValue.html +1 -1
  473. package/docs/types/Level-1.html +1 -1
  474. package/docs/types/LevelToDestroyedActorsMap-1.html +1 -1
  475. package/docs/types/Levels.html +1 -1
  476. package/docs/types/MAP_STRUCT_PROXY.html +1 -0
  477. package/docs/types/MD5Hash-1.html +1 -1
  478. package/docs/types/MapProperty-1.html +1 -1
  479. package/docs/types/ModData.html +1 -1
  480. package/docs/types/ObjectArrayProperty-1.html +1 -1
  481. package/docs/types/ObjectProperty-1.html +1 -1
  482. package/docs/types/ObjectReference-1.html +1 -1
  483. package/docs/types/ObjectSetProperty-1.html +1 -1
  484. package/docs/types/ObjectsListSpecialProperties-1.html +1 -1
  485. package/docs/types/PlayerSpecialProperties-1.html +1 -1
  486. package/docs/types/PowerLineSpecialProperties-1.html +1 -1
  487. package/docs/types/PropertiesMap.html +1 -1
  488. package/docs/types/RailroadTrackPositionStructPropertyValue.html +1 -1
  489. package/docs/types/RoughSaveVersion.html +1 -1
  490. package/docs/types/SatisfactoryModMetadata.html +1 -1
  491. package/docs/types/SatisfactorySaveHeader-1.html +1 -1
  492. package/docs/types/SaveBodyChunks-1.html +1 -1
  493. package/docs/types/SaveBodyValidation-1.html +1 -0
  494. package/docs/types/SetProperty.AvailableSetPropertyTypes.html +1 -1
  495. package/docs/types/SoftObjectArrayProperty-1.html +1 -1
  496. package/docs/types/SoftObjectReference-1.html +1 -1
  497. package/docs/types/SpecialDroneAction.html +1 -1
  498. package/docs/types/SpecialDroneActionProperties-1.html +1 -1
  499. package/docs/types/SpecialProperties.AvailableSpecialPropertiesTypes.html +1 -1
  500. package/docs/types/StrArrayProperty-1.html +1 -1
  501. package/docs/types/StrProperty-1.html +1 -1
  502. package/docs/types/StrSetProperty-1.html +1 -1
  503. package/docs/types/StructArrayProperty-1.html +1 -1
  504. package/docs/types/StructProperty-1.html +1 -1
  505. package/docs/types/StructSetProperty-1.html +1 -1
  506. package/docs/types/TextArrayProperty-1.html +1 -1
  507. package/docs/types/TextProperty-1.html +1 -1
  508. package/docs/types/TextPropertyValue.html +1 -1
  509. package/docs/types/Transform-1.html +1 -1
  510. package/docs/types/Uint32Property-1.html +1 -1
  511. package/docs/types/Uint32SetProperty-1.html +1 -1
  512. package/docs/types/Uint64Property-1.html +1 -1
  513. package/docs/types/Uint8Property-1.html +1 -1
  514. package/docs/types/VehiclePhysicsData-1.html +1 -1
  515. package/docs/types/VehicleSpecialProperties-1.html +1 -1
  516. package/docs/types/col4-1.html +1 -1
  517. package/docs/types/vec2-1.html +1 -1
  518. package/docs/types/vec3-1.html +1 -1
  519. package/docs/types/vec4-1.html +1 -1
  520. package/docs/variables/DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE.html +1 -1
  521. package/docs/variables/EDIT.html +1 -1
  522. package/docs/variables/SaveBodyChunks.HEADER_V1.html +1 -1
  523. package/docs/variables/SaveBodyChunks.HEADER_V2.html +1 -1
  524. package/jsr.json +1 -1
  525. package/package.json +1 -1
  526. package/docs/types/ByteArray4.html +0 -1
  527. package/docs/types/MAP_STRUCT_KEY_PROXY.html +0 -1
  528. package/docs/types/SaveBodyValidation.html +0 -1
@@ -34,29 +34,4 @@ class SaveWriter extends context_writer_1.ContextWriter {
34
34
  }
35
35
  }
36
36
  exports.SaveWriter = SaveWriter;
37
- SaveWriter.WriteSaveBodyHashAndGrids = (writer, saveBodyValidation, grids) => {
38
- writer.writeInt32(0);
39
- writer.writeInt32(saveBodyValidation.version);
40
- if (saveBodyValidation.version > 0) {
41
- writer.writeString('None');
42
- writer.writeInt32(0);
43
- writer.writeBytesArray(saveBodyValidation.hash1);
44
- writer.writeInt32(1);
45
- writer.writeString('None');
46
- writer.writeBytesArray(saveBodyValidation.hash2);
47
- SaveWriter.WriteGrids(writer, grids);
48
- }
49
- };
50
- SaveWriter.WriteGrids = (writer, grids) => {
51
- for (const gridEntry of Object.entries(grids)) {
52
- writer.writeString(gridEntry[0]);
53
- writer.writeInt32(gridEntry[1].cellSize);
54
- writer.writeUint32(gridEntry[1].gridHash);
55
- writer.writeUint32(Object.values(gridEntry[1].children).length);
56
- for (const child of Object.entries(gridEntry[1].children)) {
57
- writer.writeString(child[0]);
58
- writer.writeUint32(child[1]);
59
- }
60
- }
61
- };
62
37
  //# sourceMappingURL=save-writer.js.map
@@ -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';\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 WriteSaveBodyHashAndGrids = (writer: ContextWriter, saveBodyValidation: SaveBodyValidation, grids: Grids): void => {\n\t\twriter.writeInt32(0);\n\t\twriter.writeInt32(saveBodyValidation.version);\n\n\t\tif (saveBodyValidation.version > 0) {\n\t\t\twriter.writeString('None');\n\t\t\twriter.writeInt32(0);\n\t\t\twriter.writeBytesArray(saveBodyValidation.hash1);\n\t\t\twriter.writeInt32(1);\n\t\t\twriter.writeString('None');\n\t\t\twriter.writeBytesArray(saveBodyValidation.hash2);\n\n\t\t\tSaveWriter.WriteGrids(writer, grids);\n\t\t}\n\t}\n\n\tprivate 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"]}
1
+ {"version":3,"file":"save-writer.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-writer.ts"],"names":[],"mappings":";;;AAAA,8DAAsD;AACtD,iEAA6D;AAC7D,2DAAuD;AACvD,mCAAgC;AAEhC,yDAAwF;AAGxF,MAAa,UAAW,SAAQ,8BAAa;IAE5C;QACC,KAAK,CAAC,0BAAS,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,MAAqB,EAAE,IAAsB;QACtE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,aAAK,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAEM,MAAM,CAAC,gCAAgC,CAC7C,WAAwB,EACxB,eAAqC,EACrC,eAAqC,EACrC,yBAAwD,EACxD,OAAoC,EACpC,YAAuB,0BAAS,CAAC,aAAa;QAG9C,OAAO,iCAAc,CAAC,sBAAsB,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,yBAAyB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5I,CAAC;IAEM,cAAc,CACpB,eAAqC,EACrC,cAAsB,EAEtB,yBAAwD,EACxD,QAAsC,EACtC,OAAoC;QAGpC,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAW,CAAC,aAAa,EAAE,qGAAqG,CAAC,CAAC;QAC7I,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QACzE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAGjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhK,OAAO,YAAY,CAAC;IACrB,CAAC;CACD;AAnDD,gCAmDC","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\";\n\n\nexport class SaveWriter extends ContextWriter {\n\n\tconstructor() {\n\t\tsuper(Alignment.LITTLE_ENDIAN);\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"]}
@@ -136,7 +136,7 @@ var PropertiesList;
136
136
  overhead = SetProperty_1.SetProperty.CalcOverhead(currentProperty);
137
137
  break;
138
138
  default:
139
- throw new Error(`Unimplemented type ${propertyType}`);
139
+ throw new Error(`Unimplemented type ${propertyType}, at byte position ${reader.getBufferPosition()}`);
140
140
  }
141
141
  currentProperty.name = propertyName;
142
142
  const readBytes = reader.getBufferPosition() - before - overhead;
@@ -1 +1 @@
1
- {"version":3,"file":"PropertiesList.js","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/property/PropertiesList.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../context/context-reader';\nimport { ContextWriter } from '../../../context/context-writer';\nimport { ParserError } from '../../../error/parser.error';\nimport { AbstractBaseProperty, PropertiesMap } from './generic/AbstractBaseProperty';\nimport { ArrayProperty } from './generic/ArrayProperty/ArrayProperty';\nimport { BoolProperty } from './generic/BoolProperty';\nimport { ByteProperty } from './generic/ByteProperty';\nimport { DoubleProperty } from './generic/DoubleProperty';\nimport { EnumProperty } from './generic/EnumProperty';\nimport { FloatProperty } from './generic/FloatProperty';\nimport { Int32Property } from './generic/Int32Property';\nimport { Int64Property } from './generic/Int64Property';\nimport { Int8Property } from './generic/Int8Property';\nimport { MapProperty } from './generic/MapProperty';\nimport { ObjectProperty } from './generic/ObjectProperty';\nimport { SetProperty } from './generic/SetProperty/SetProperty';\nimport { SoftObjectProperty } from './generic/SoftObjectProperty';\nimport { StrProperty } from './generic/StrProperty';\nimport { StructProperty } from './generic/StructProperty';\nimport { TextProperty } from './generic/TextProperty';\nimport { Uint32Property } from './generic/Uint32Property';\nimport { Uint64Property } from './generic/Uint64Property';\nimport { Uint8Property } from './generic/Uint8Property';\n\n\nexport namespace PropertiesList {\n\n\texport const ParseList = (reader: ContextReader): PropertiesMap => {\n\n\t\tconst properties: PropertiesMap = {};\n\t\tlet propertyName: string = reader.readString();\n\t\twhile (propertyName !== 'None') {\n\t\t\tconst parsedProperty = PropertiesList.ParseSingleProperty(reader, propertyName);\n\n\t\t\t// if it already exists, make it an array.\n\t\t\tif (properties[propertyName]) {\n\t\t\t\tif (!Array.isArray(properties[propertyName])) {\n\t\t\t\t\tproperties[propertyName] = [properties[propertyName] as AbstractBaseProperty];\n\t\t\t\t}\n\t\t\t\t(properties[propertyName] as AbstractBaseProperty[]).push(parsedProperty);\n\t\t\t} else {\n\t\t\t\tproperties[propertyName] = parsedProperty;\n\t\t\t}\n\n\t\t\tpropertyName = reader.readString();\n\t\t}\n\n\t\treturn properties;\n\t}\n\n\texport const SerializeList = (writer: ContextWriter, properties: PropertiesMap): void => {\n\t\tfor (const property of Object.values(properties).flatMap(val => Array.isArray(val) ? val : [val])) {\n\t\t\twriter.writeString(property.name);\n\t\t\tPropertiesList.SerializeSingleProperty(writer, property);\n\t\t}\n\t\twriter.writeString('None');\n\t}\n\n\texport const ParseSingleProperty = (reader: ContextReader, propertyName: string): AbstractBaseProperty => {\n\t\tlet currentProperty: any = {};\n\n\t\t//TODO assign type and index after parsing.\n\t\tconst propertyType = reader.readString();\n\t\tconst binarySize = reader.readInt32();\n\n\t\tconst index = reader.readInt32();\n\t\tconst before = reader.getBufferPosition();\n\n\t\tlet overhead = 0;\n\t\tswitch (propertyType) {\n\t\t\tcase 'BoolProperty':\n\t\t\t\tcurrentProperty = BoolProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = BoolProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ByteProperty':\n\t\t\t\tcurrentProperty = ByteProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = ByteProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Int8Property':\n\t\t\t\tcurrentProperty = Int8Property.Parse(reader, propertyType, index);\n\t\t\t\toverhead = Int8Property.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'UInt8Property':\n\t\t\t\tcurrentProperty = Uint8Property.Parse(reader, propertyType, index);\n\t\t\t\toverhead = Uint8Property.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'IntProperty':\n\t\t\tcase 'Int32Property':\n\t\t\t\tcurrentProperty = Int32Property.Parse(reader, propertyType, index);\n\t\t\t\toverhead = Int32Property.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'UInt32Property':\n\t\t\t\tcurrentProperty = Uint32Property.Parse(reader, propertyType, index);\n\t\t\t\toverhead = Uint32Property.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Int64Property':\n\t\t\t\tcurrentProperty = Int64Property.Parse(reader, propertyType, index);\n\t\t\t\toverhead = Int64Property.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'UInt64Property':\n\t\t\t\tcurrentProperty = Uint64Property.Parse(reader, propertyType, index);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SingleProperty':\n\t\t\tcase 'FloatProperty':\n\t\t\t\tcurrentProperty = FloatProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = FloatProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'DoubleProperty':\n\t\t\t\tcurrentProperty = DoubleProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = DoubleProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'StrProperty':\n\t\t\tcase 'NameProperty':\n\t\t\t\tcurrentProperty = StrProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = StrProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ObjectProperty':\n\t\t\tcase 'InterfaceProperty':\n\t\t\t\tcurrentProperty = ObjectProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = ObjectProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SoftObjectProperty':\n\t\t\t\tcurrentProperty = SoftObjectProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = SoftObjectProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'EnumProperty':\n\t\t\t\tcurrentProperty = EnumProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = EnumProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'StructProperty':\n\t\t\t\tcurrentProperty = StructProperty.Parse(reader, propertyType, index, binarySize);\n\t\t\t\toverhead = StructProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrayProperty':\n\t\t\t\tcurrentProperty = ArrayProperty.Parse(reader, propertyType, index, binarySize);\n\t\t\t\toverhead = ArrayProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'MapProperty':\n\t\t\t\tcurrentProperty = MapProperty.Parse(reader, propertyName, binarySize);\n\t\t\t\toverhead = MapProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'TextProperty':\n\t\t\t\tcurrentProperty = TextProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = TextProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SetProperty':\n\t\t\t\tcurrentProperty = SetProperty.Parse(reader, propertyType, index, propertyName);\n\t\t\t\toverhead = SetProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unimplemented type ${propertyType}`);\n\t\t}\n\n\t\tcurrentProperty.name = propertyName;\n\n\t\tconst readBytes = reader.getBufferPosition() - before - overhead;\n\t\tif (readBytes !== binarySize) {\n\t\t\tconsole.warn(`possibly corrupt. Read ${readBytes} for ${propertyType} ${propertyName}, but ${binarySize} were indicated.`);\n\t\t\tthrow new ParserError('ParserError', `possibly corrupt. Read ${readBytes} bytes for ${propertyType} ${propertyName}, but ${binarySize} bytes were indicated.`);\n\t\t}\n\n\t\treturn currentProperty;\n\t}\n\n\texport const SerializeSingleProperty = (writer: ContextWriter, property: AbstractBaseProperty): void => {\n\n\t\twriter.writeString(property.ueType);\n\n\t\t// binary length indicator\n\t\tconst lenIndicator = writer.getBufferPosition();\n\t\twriter.writeInt32(0);\n\n\t\t// write index if it is not 0. Since it normally is.\n\t\twriter.writeInt32(property.index ?? 0);\n\n\t\tconst start = writer.getBufferPosition();\n\t\tlet overhead = 0;\n\t\tswitch (property.ueType) {\n\t\t\tcase 'BoolProperty':\n\t\t\t\toverhead = BoolProperty.CalcOverhead(property as BoolProperty);\n\t\t\t\tBoolProperty.Serialize(writer, property as BoolProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ByteProperty':\n\t\t\t\toverhead = ByteProperty.CalcOverhead(property as ByteProperty);\n\t\t\t\tByteProperty.Serialize(writer, property as ByteProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Int8Property':\n\t\t\t\toverhead = Int8Property.CalcOverhead(property as Int8Property);\n\t\t\t\tInt8Property.Serialize(writer, property as Int8Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'UInt8Property':\n\t\t\t\toverhead = Uint8Property.CalcOverhead(property as Uint8Property);\n\t\t\t\tUint8Property.Serialize(writer, property as Uint8Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'IntProperty':\n\t\t\tcase 'Int32Property':\n\t\t\t\toverhead = Int32Property.CalcOverhead(property as Int32Property);\n\t\t\t\tInt32Property.Serialize(writer, property as Int32Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'UInt32Property':\n\t\t\t\toverhead = Uint32Property.CalcOverhead(property as Uint32Property);\n\t\t\t\tUint32Property.Serialize(writer, property as Uint32Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Int64Property':\n\t\t\t\toverhead = Int64Property.CalcOverhead(property as Int64Property);\n\t\t\t\tInt64Property.Serialize(writer, property as Int64Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'UInt64PRoperty':\n\t\t\t\toverhead = Uint64Property.CalcOverhead(property as Uint64Property);\n\t\t\t\tUint64Property.Serialize(writer, property as Uint64Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SingleProperty':\n\t\t\tcase 'FloatProperty':\n\t\t\t\toverhead = FloatProperty.CalcOverhead(property as FloatProperty);\n\t\t\t\tFloatProperty.Serialize(writer, property as FloatProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'DoubleProperty':\n\t\t\t\toverhead = DoubleProperty.CalcOverhead(property as DoubleProperty);\n\t\t\t\tDoubleProperty.Serialize(writer, property as DoubleProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'StrProperty':\n\t\t\tcase 'NameProperty':\n\t\t\t\toverhead = StrProperty.CalcOverhead(property as StrProperty);\n\t\t\t\tStrProperty.Serialize(writer, property as StrProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ObjectProperty':\n\t\t\tcase 'InterfaceProperty':\n\t\t\t\toverhead = ObjectProperty.CalcOverhead(property as ObjectProperty);\n\t\t\t\tObjectProperty.Serialize(writer, property as ObjectProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SoftObjectProperty':\n\t\t\t\toverhead = SoftObjectProperty.CalcOverhead(property as SoftObjectProperty);\n\t\t\t\tSoftObjectProperty.Serialize(writer, property as SoftObjectProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'EnumProperty':\n\t\t\t\toverhead = EnumProperty.CalcOverhead(property as EnumProperty);\n\t\t\t\tEnumProperty.Serialize(writer, property as EnumProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ByteProperty':\n\t\t\t\toverhead = ByteProperty.CalcOverhead(property as ByteProperty);\n\t\t\t\tByteProperty.Serialize(writer, property as ByteProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'StructProperty':\n\t\t\t\toverhead = StructProperty.CalcOverhead(property as StructProperty);\n\t\t\t\tStructProperty.Serialize(writer, property as StructProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrayProperty':\n\t\t\t\toverhead = ArrayProperty.CalcOverhead(property as ArrayProperty.AvailableArrayPropertyTypes);\n\t\t\t\tArrayProperty.Serialize(writer, property as ArrayProperty.AvailableArrayPropertyTypes);\n\t\t\t\tbreak;\n\n\t\t\tcase 'MapProperty':\n\t\t\t\toverhead = MapProperty.CalcOverhead(property as MapProperty);\n\t\t\t\tMapProperty.Serialize(writer, property as MapProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'TextProperty':\n\t\t\t\toverhead = TextProperty.CalcOverhead(property as TextProperty);\n\t\t\t\tTextProperty.Serialize(writer, property as TextProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SetProperty':\n\t\t\t\toverhead = SetProperty.CalcOverhead(property as SetProperty.AvailableSetPropertyTypes);\n\t\t\t\tSetProperty.Serialize(writer, property as SetProperty.AvailableSetPropertyTypes);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unimplemented type ${property.type}`);\n\t\t}\n\n\t\t// replace len indicator.\n\t\twriter.writeBinarySizeFromPosition(lenIndicator, start + overhead);\n\t}\n}\n\n"]}
1
+ {"version":3,"file":"PropertiesList.js","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/property/PropertiesList.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../context/context-reader';\nimport { ContextWriter } from '../../../context/context-writer';\nimport { ParserError } from '../../../error/parser.error';\nimport { AbstractBaseProperty, PropertiesMap } from './generic/AbstractBaseProperty';\nimport { ArrayProperty } from './generic/ArrayProperty/ArrayProperty';\nimport { BoolProperty } from './generic/BoolProperty';\nimport { ByteProperty } from './generic/ByteProperty';\nimport { DoubleProperty } from './generic/DoubleProperty';\nimport { EnumProperty } from './generic/EnumProperty';\nimport { FloatProperty } from './generic/FloatProperty';\nimport { Int32Property } from './generic/Int32Property';\nimport { Int64Property } from './generic/Int64Property';\nimport { Int8Property } from './generic/Int8Property';\nimport { MapProperty } from './generic/MapProperty';\nimport { ObjectProperty } from './generic/ObjectProperty';\nimport { SetProperty } from './generic/SetProperty/SetProperty';\nimport { SoftObjectProperty } from './generic/SoftObjectProperty';\nimport { StrProperty } from './generic/StrProperty';\nimport { StructProperty } from './generic/StructProperty';\nimport { TextProperty } from './generic/TextProperty';\nimport { Uint32Property } from './generic/Uint32Property';\nimport { Uint64Property } from './generic/Uint64Property';\nimport { Uint8Property } from './generic/Uint8Property';\n\n\nexport namespace PropertiesList {\n\n\texport const ParseList = (reader: ContextReader): PropertiesMap => {\n\n\t\tconst properties: PropertiesMap = {};\n\t\tlet propertyName: string = reader.readString();\n\t\twhile (propertyName !== 'None') {\n\t\t\tconst parsedProperty = PropertiesList.ParseSingleProperty(reader, propertyName);\n\n\t\t\t// if it already exists, make it an array.\n\t\t\tif (properties[propertyName]) {\n\t\t\t\tif (!Array.isArray(properties[propertyName])) {\n\t\t\t\t\tproperties[propertyName] = [properties[propertyName] as AbstractBaseProperty];\n\t\t\t\t}\n\t\t\t\t(properties[propertyName] as AbstractBaseProperty[]).push(parsedProperty);\n\t\t\t} else {\n\t\t\t\tproperties[propertyName] = parsedProperty;\n\t\t\t}\n\n\t\t\tpropertyName = reader.readString();\n\t\t}\n\n\t\treturn properties;\n\t}\n\n\texport const SerializeList = (writer: ContextWriter, properties: PropertiesMap): void => {\n\t\tfor (const property of Object.values(properties).flatMap(val => Array.isArray(val) ? val : [val])) {\n\t\t\twriter.writeString(property.name);\n\t\t\tPropertiesList.SerializeSingleProperty(writer, property);\n\t\t}\n\t\twriter.writeString('None');\n\t}\n\n\texport const ParseSingleProperty = (reader: ContextReader, propertyName: string): AbstractBaseProperty => {\n\t\tlet currentProperty: any = {};\n\n\t\t//TODO assign type and index after parsing.\n\t\tconst propertyType = reader.readString();\n\t\tconst binarySize = reader.readInt32();\n\n\t\tconst index = reader.readInt32();\n\t\tconst before = reader.getBufferPosition();\n\n\t\tlet overhead = 0;\n\t\tswitch (propertyType) {\n\t\t\tcase 'BoolProperty':\n\t\t\t\tcurrentProperty = BoolProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = BoolProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ByteProperty':\n\t\t\t\tcurrentProperty = ByteProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = ByteProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Int8Property':\n\t\t\t\tcurrentProperty = Int8Property.Parse(reader, propertyType, index);\n\t\t\t\toverhead = Int8Property.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'UInt8Property':\n\t\t\t\tcurrentProperty = Uint8Property.Parse(reader, propertyType, index);\n\t\t\t\toverhead = Uint8Property.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'IntProperty':\n\t\t\tcase 'Int32Property':\n\t\t\t\tcurrentProperty = Int32Property.Parse(reader, propertyType, index);\n\t\t\t\toverhead = Int32Property.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'UInt32Property':\n\t\t\t\tcurrentProperty = Uint32Property.Parse(reader, propertyType, index);\n\t\t\t\toverhead = Uint32Property.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Int64Property':\n\t\t\t\tcurrentProperty = Int64Property.Parse(reader, propertyType, index);\n\t\t\t\toverhead = Int64Property.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'UInt64Property':\n\t\t\t\tcurrentProperty = Uint64Property.Parse(reader, propertyType, index);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SingleProperty':\n\t\t\tcase 'FloatProperty':\n\t\t\t\tcurrentProperty = FloatProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = FloatProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'DoubleProperty':\n\t\t\t\tcurrentProperty = DoubleProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = DoubleProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'StrProperty':\n\t\t\tcase 'NameProperty':\n\t\t\t\tcurrentProperty = StrProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = StrProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ObjectProperty':\n\t\t\tcase 'InterfaceProperty':\n\t\t\t\tcurrentProperty = ObjectProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = ObjectProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SoftObjectProperty':\n\t\t\t\tcurrentProperty = SoftObjectProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = SoftObjectProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'EnumProperty':\n\t\t\t\tcurrentProperty = EnumProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = EnumProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'StructProperty':\n\t\t\t\tcurrentProperty = StructProperty.Parse(reader, propertyType, index, binarySize);\n\t\t\t\toverhead = StructProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrayProperty':\n\t\t\t\tcurrentProperty = ArrayProperty.Parse(reader, propertyType, index, binarySize);\n\t\t\t\toverhead = ArrayProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'MapProperty':\n\t\t\t\tcurrentProperty = MapProperty.Parse(reader, propertyName, binarySize);\n\t\t\t\toverhead = MapProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'TextProperty':\n\t\t\t\tcurrentProperty = TextProperty.Parse(reader, propertyType, index);\n\t\t\t\toverhead = TextProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SetProperty':\n\t\t\t\tcurrentProperty = SetProperty.Parse(reader, propertyType, index, propertyName);\n\t\t\t\toverhead = SetProperty.CalcOverhead(currentProperty);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unimplemented type ${propertyType}, at byte position ${reader.getBufferPosition()}`);\n\t\t}\n\n\t\tcurrentProperty.name = propertyName;\n\n\t\tconst readBytes = reader.getBufferPosition() - before - overhead;\n\t\tif (readBytes !== binarySize) {\n\t\t\tconsole.warn(`possibly corrupt. Read ${readBytes} for ${propertyType} ${propertyName}, but ${binarySize} were indicated.`);\n\t\t\tthrow new ParserError('ParserError', `possibly corrupt. Read ${readBytes} bytes for ${propertyType} ${propertyName}, but ${binarySize} bytes were indicated.`);\n\t\t}\n\n\t\treturn currentProperty;\n\t}\n\n\texport const SerializeSingleProperty = (writer: ContextWriter, property: AbstractBaseProperty): void => {\n\n\t\twriter.writeString(property.ueType);\n\n\t\t// binary length indicator\n\t\tconst lenIndicator = writer.getBufferPosition();\n\t\twriter.writeInt32(0);\n\n\t\t// write index if it is not 0. Since it normally is.\n\t\twriter.writeInt32(property.index ?? 0);\n\n\t\tconst start = writer.getBufferPosition();\n\t\tlet overhead = 0;\n\t\tswitch (property.ueType) {\n\t\t\tcase 'BoolProperty':\n\t\t\t\toverhead = BoolProperty.CalcOverhead(property as BoolProperty);\n\t\t\t\tBoolProperty.Serialize(writer, property as BoolProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ByteProperty':\n\t\t\t\toverhead = ByteProperty.CalcOverhead(property as ByteProperty);\n\t\t\t\tByteProperty.Serialize(writer, property as ByteProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Int8Property':\n\t\t\t\toverhead = Int8Property.CalcOverhead(property as Int8Property);\n\t\t\t\tInt8Property.Serialize(writer, property as Int8Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'UInt8Property':\n\t\t\t\toverhead = Uint8Property.CalcOverhead(property as Uint8Property);\n\t\t\t\tUint8Property.Serialize(writer, property as Uint8Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'IntProperty':\n\t\t\tcase 'Int32Property':\n\t\t\t\toverhead = Int32Property.CalcOverhead(property as Int32Property);\n\t\t\t\tInt32Property.Serialize(writer, property as Int32Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'UInt32Property':\n\t\t\t\toverhead = Uint32Property.CalcOverhead(property as Uint32Property);\n\t\t\t\tUint32Property.Serialize(writer, property as Uint32Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Int64Property':\n\t\t\t\toverhead = Int64Property.CalcOverhead(property as Int64Property);\n\t\t\t\tInt64Property.Serialize(writer, property as Int64Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'UInt64PRoperty':\n\t\t\t\toverhead = Uint64Property.CalcOverhead(property as Uint64Property);\n\t\t\t\tUint64Property.Serialize(writer, property as Uint64Property);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SingleProperty':\n\t\t\tcase 'FloatProperty':\n\t\t\t\toverhead = FloatProperty.CalcOverhead(property as FloatProperty);\n\t\t\t\tFloatProperty.Serialize(writer, property as FloatProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'DoubleProperty':\n\t\t\t\toverhead = DoubleProperty.CalcOverhead(property as DoubleProperty);\n\t\t\t\tDoubleProperty.Serialize(writer, property as DoubleProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'StrProperty':\n\t\t\tcase 'NameProperty':\n\t\t\t\toverhead = StrProperty.CalcOverhead(property as StrProperty);\n\t\t\t\tStrProperty.Serialize(writer, property as StrProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ObjectProperty':\n\t\t\tcase 'InterfaceProperty':\n\t\t\t\toverhead = ObjectProperty.CalcOverhead(property as ObjectProperty);\n\t\t\t\tObjectProperty.Serialize(writer, property as ObjectProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SoftObjectProperty':\n\t\t\t\toverhead = SoftObjectProperty.CalcOverhead(property as SoftObjectProperty);\n\t\t\t\tSoftObjectProperty.Serialize(writer, property as SoftObjectProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'EnumProperty':\n\t\t\t\toverhead = EnumProperty.CalcOverhead(property as EnumProperty);\n\t\t\t\tEnumProperty.Serialize(writer, property as EnumProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ByteProperty':\n\t\t\t\toverhead = ByteProperty.CalcOverhead(property as ByteProperty);\n\t\t\t\tByteProperty.Serialize(writer, property as ByteProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'StructProperty':\n\t\t\t\toverhead = StructProperty.CalcOverhead(property as StructProperty);\n\t\t\t\tStructProperty.Serialize(writer, property as StructProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrayProperty':\n\t\t\t\toverhead = ArrayProperty.CalcOverhead(property as ArrayProperty.AvailableArrayPropertyTypes);\n\t\t\t\tArrayProperty.Serialize(writer, property as ArrayProperty.AvailableArrayPropertyTypes);\n\t\t\t\tbreak;\n\n\t\t\tcase 'MapProperty':\n\t\t\t\toverhead = MapProperty.CalcOverhead(property as MapProperty);\n\t\t\t\tMapProperty.Serialize(writer, property as MapProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'TextProperty':\n\t\t\t\toverhead = TextProperty.CalcOverhead(property as TextProperty);\n\t\t\t\tTextProperty.Serialize(writer, property as TextProperty);\n\t\t\t\tbreak;\n\n\t\t\tcase 'SetProperty':\n\t\t\t\toverhead = SetProperty.CalcOverhead(property as SetProperty.AvailableSetPropertyTypes);\n\t\t\t\tSetProperty.Serialize(writer, property as SetProperty.AvailableSetPropertyTypes);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unimplemented type ${property.type}`);\n\t\t}\n\n\t\t// replace len indicator.\n\t\twriter.writeBinarySizeFromPosition(lenIndicator, start + overhead);\n\t}\n}\n\n"]}
@@ -1,6 +1,6 @@
1
1
  import { GUIDInfo } from '../../structs/GUIDInfo';
2
2
  export type PropertiesMap = {
3
- [name: string]: AbstractBaseProperty | AbstractBaseProperty[];
3
+ [name: string]: (AbstractBaseProperty & any) | (AbstractBaseProperty & any)[];
4
4
  };
5
5
  type AbstractBasePropertyOptions = {
6
6
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractBaseProperty.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/AbstractBaseProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,MAAM,MAAM,aAAa,GAAG;IAC3B,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,oBAAoB,EAAE,CAAC;CAC9D,CAAC;AAUF,KAAK,2BAA2B,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAA;AAED,yBAAiB,oBAAoB,CAAC;IAC9B,MAAM,MAAM,YAAa,2BAA2B,KAAG,oBAS7D,CAAC;CACF"}
1
+ {"version":3,"file":"AbstractBaseProperty.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/AbstractBaseProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,MAAM,MAAM,aAAa,GAAG;IAC3B,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,EAAE,CAAC;CAC9E,CAAC;AAUF,KAAK,2BAA2B,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,yBAAiB,oBAAoB,CAAC;IAC9B,MAAM,MAAM,YAAa,2BAA2B,KAAG,oBAS7D,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractBaseProperty.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/AbstractBaseProperty.ts"],"names":[],"mappings":";;;AA+BA,IAAiB,oBAAoB,CAWpC;AAXD,WAAiB,oBAAoB;IACvB,2BAAM,GAAG,CAAC,OAAoC,EAAwB,EAAE,CAAC,CACrF;QACC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC/E,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAG5E,CAAA,CAAC;AACH,CAAC,EAXgB,oBAAoB,oCAApB,oBAAoB,QAWpC","sourcesContent":["import { GUIDInfo } from '../../structs/GUIDInfo';\n\n\nexport type PropertiesMap = {\n\t[name: string]: AbstractBaseProperty | AbstractBaseProperty[];\n};\n\n\n/**\n * @type denotes the parser's internal type.\n * @ueType denotes the type like Unreal Engine calls it, like IntProperty. Several UE Types can be mapped to a single type in the parsers view.\n * @name property name\n * @guidInfo denotes the GUID info of this property, i think there never was one observed. they always were not defined.\n * @index index of a property, in case it is part of an array (NOT to confuse with ArrayProperty).\n */\ntype AbstractBasePropertyOptions = {\n\ttype: string;\n\tueType: string;\n\tname?: string;\n\tguidInfo?: GUIDInfo;\n\tindex?: number;\n};\n\nexport type AbstractBaseProperty = {\n\ttype: string;\n\tueType: string;\n\tname: string;\n\tindex?: number;\n\tguidInfo?: GUIDInfo;\n}\n\nexport namespace AbstractBaseProperty {\n\texport const Create = (options: AbstractBasePropertyOptions): AbstractBaseProperty => (\n\t\t{\n\t\t\ttype: options.type,\n\t\t\tueType: options.ueType,\n\t\t\tname: (options.name !== undefined && options.name !== null) ? options.name : '',\n\t\t\t...((options.index !== undefined && options.index !== null && options.index !== 0) ? { index: options.index } : {}),\n\t\t\t...((options.guidInfo !== undefined) ? { guidInfo: options.guidInfo } : {})\n\n\t\t} satisfies AbstractBaseProperty\n\t);\n}"]}
1
+ {"version":3,"file":"AbstractBaseProperty.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/AbstractBaseProperty.ts"],"names":[],"mappings":";;;AA+BA,IAAiB,oBAAoB,CAWpC;AAXD,WAAiB,oBAAoB;IACvB,2BAAM,GAAG,CAAC,OAAoC,EAAwB,EAAE,CAAC,CACrF;QACC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC/E,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAG5E,CAAA,CAAC;AACH,CAAC,EAXgB,oBAAoB,oCAApB,oBAAoB,QAWpC","sourcesContent":["import { GUIDInfo } from '../../structs/GUIDInfo';\n\n\nexport type PropertiesMap = {\n\t[name: string]: (AbstractBaseProperty & any) | (AbstractBaseProperty & any)[];\n};\n\n\n/**\n * @type denotes the parser's internal type.\n * @ueType denotes the type like Unreal Engine calls it, like IntProperty. Several UE Types can be mapped to a single type in the parsers view.\n * @name property name\n * @guidInfo denotes the GUID info of this property, i think there never was one observed. they always were not defined.\n * @index index of a property, in case it is part of an array (NOT to confuse with ArrayProperty).\n */\ntype AbstractBasePropertyOptions = {\n\ttype: string;\n\tueType: string;\n\tname?: string;\n\tguidInfo?: GUIDInfo;\n\tindex?: number;\n};\n\nexport type AbstractBaseProperty = {\n\ttype: string;\n\tueType: string;\n\tname: string;\n\tindex?: number;\n\tguidInfo?: GUIDInfo;\n};\n\nexport namespace AbstractBaseProperty {\n\texport const Create = (options: AbstractBasePropertyOptions): AbstractBaseProperty => (\n\t\t{\n\t\t\ttype: options.type,\n\t\t\tueType: options.ueType,\n\t\t\tname: (options.name !== undefined && options.name !== null) ? options.name : '',\n\t\t\t...((options.index !== undefined && options.index !== null && options.index !== 0) ? { index: options.index } : {}),\n\t\t\t...((options.guidInfo !== undefined) ? { guidInfo: options.guidInfo } : {})\n\n\t\t} satisfies AbstractBaseProperty\n\t);\n}"]}
@@ -3,9 +3,9 @@ import { ContextWriter } from '../../../../context/context-writer';
3
3
  import { ObjectReference } from '../../structs/ObjectReference';
4
4
  import { AbstractBaseProperty } from './AbstractBaseProperty';
5
5
  import { GENERIC_STRUCT_PROPERTY_VALUE } from './StructProperty';
6
- export type MAP_STRUCT_KEY_PROXY = [number, number, number, number, number, number, number, number, number, number, number, number];
7
- export type GENERIC_MAP_KEY_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE | MAP_STRUCT_KEY_PROXY;
8
- export type GENERIC_MAP_VALUE_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE;
6
+ export type MAP_STRUCT_PROXY = [number, number, number, number, number, number, number, number, number, number, number, number];
7
+ export type GENERIC_MAP_KEY_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE | MAP_STRUCT_PROXY;
8
+ export type GENERIC_MAP_VALUE_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE | MAP_STRUCT_PROXY;
9
9
  export declare const isMapProperty: (property: any) => property is MapProperty;
10
10
  export type MapProperty = AbstractBaseProperty & {
11
11
  type: 'MapProperty';
@@ -1 +1 @@
1
- {"version":3,"file":"MapProperty.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/MapProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACpI,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,GAAG,6BAA6B,GAAG,oBAAoB,CAAC;AAC7H,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,GAAG,6BAA6B,CAAC;AAExG,eAAO,MAAM,aAAa,aAAc,GAAG,KAAG,QAAQ,IAAI,WAA0E,CAAC;AAErI,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,sBAAsB,CAAC,EAAE,CAAC;CACxE,CAAC;AAGF,yBAAiB,WAAW,CAAC;IAElB,MAAM,KAAK,WAAY,aAAa,gBAAgB,MAAM,QAAQ,MAAM,WAAU,MAAM,UAAyB,MAAM,KAAO,WAgGpI,CAAA;IAEM,MAAM,YAAY,aAAc,WAAW,KAAG,MAEpD,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,YAAY,WAAW,KAAG,IAyExE,CAAA;CACJ"}
1
+ {"version":3,"file":"MapProperty.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/MapProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAChI,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,GAAG,6BAA6B,GAAG,gBAAgB,CAAC;AACzH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,GAAG,6BAA6B,GAAG,gBAAgB,CAAC;AAE3H,eAAO,MAAM,aAAa,aAAc,GAAG,KAAG,QAAQ,IAAI,WAA0E,CAAC;AAErI,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,sBAAsB,CAAC,EAAE,CAAC;CACxE,CAAC;AAGF,yBAAiB,WAAW,CAAC;IAElB,MAAM,KAAK,WAAY,aAAa,gBAAgB,MAAM,QAAQ,MAAM,WAAU,MAAM,UAAyB,MAAM,KAAO,WAoGpI,CAAA;IAEM,MAAM,YAAY,aAAc,WAAW,KAAG,MAEpD,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,YAAY,WAAW,KAAG,IA+ExE,CAAA;CACJ"}
@@ -67,7 +67,12 @@ var MapProperty;
67
67
  }
68
68
  switch (property.valueType) {
69
69
  case 'StructProperty':
70
- value = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader, property.valueType);
70
+ if (propertyName === 'mIndexMapping' && reader.context.mods.MLBAlternates !== undefined) {
71
+ value = Array.from(reader.readBytes(12));
72
+ }
73
+ else {
74
+ value = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader, property.valueType);
75
+ }
71
76
  break;
72
77
  case 'ObjectProperty':
73
78
  value = ObjectProperty_1.ObjectProperty.ReadValue(reader);
@@ -140,7 +145,12 @@ var MapProperty;
140
145
  }
141
146
  switch (property.valueType) {
142
147
  case 'StructProperty':
143
- DynamicStructPropertyValue_1.DynamicStructPropertyValue.write(writer, entry[1]);
148
+ if (property.name === 'mIndexMapping' && writer.context.mods.MLBAlternates !== undefined) {
149
+ writer.writeBytesArray(entry[1]);
150
+ }
151
+ else {
152
+ DynamicStructPropertyValue_1.DynamicStructPropertyValue.write(writer, entry[1]);
153
+ }
144
154
  break;
145
155
  case 'ObjectProperty':
146
156
  ObjectProperty_1.ObjectProperty.SerializeValue(writer, entry[1]);
@@ -1 +1 @@
1
- {"version":3,"file":"MapProperty.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/MapProperty.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { DynamicStructPropertyValue } from '../../structs/DynamicStructPropertyValue';\nimport { ObjectReference } from '../../structs/ObjectReference';\nimport { AbstractBaseProperty } from './AbstractBaseProperty';\nimport { ByteProperty } from './ByteProperty';\nimport { EnumProperty } from './EnumProperty';\nimport { Int32Property } from './Int32Property';\nimport { Int64Property } from './Int64Property';\nimport { ObjectProperty } from './ObjectProperty';\nimport { StrProperty } from './StrProperty';\nimport { GENERIC_STRUCT_PROPERTY_VALUE } from './StructProperty';\n\n\nexport type MAP_STRUCT_KEY_PROXY = [number, number, number, number, number, number, number, number, number, number, number, number];\nexport type GENERIC_MAP_KEY_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE | MAP_STRUCT_KEY_PROXY;\nexport type GENERIC_MAP_VALUE_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE;\n\nexport const isMapProperty = (property: any): property is MapProperty => !Array.isArray(property) && property.type === 'MapProperty';\n\nexport type MapProperty = AbstractBaseProperty & {\n type: 'MapProperty';\n keyType: string;\n valueType: string;\n modeType: number;\n modeUnk1: string | undefined;\n modeUnk2: string;\n modeUnk3: string;\n values: [key: GENERIC_MAP_KEY_TYPE, value: GENERIC_MAP_VALUE_TYPE][];\n};\n\n\nexport namespace MapProperty {\n\n export const Parse = (reader: ContextReader, propertyName: string, size: number, ueType: string = 'MapProperty', index: number = 0): MapProperty => {\n const start = reader.getBufferPosition();\n const property: MapProperty = {\n ...AbstractBaseProperty.Create({ index, ueType, type: '' }),\n type: 'MapProperty',\n keyType: reader.readString(),\n valueType: reader.readString(),\n guidInfo: undefined,\n modeType: 0,\n values: [],\n modeUnk1: undefined,\n modeUnk2: '',\n modeUnk3: ''\n };\n\n reader.readByte(); //0\n property.modeType = reader.readInt32(); //0\n\n const elementCount = reader.readInt32();\n for (let i = 0; i < elementCount; i++) {\n let key: GENERIC_MAP_KEY_TYPE;\n let value: GENERIC_MAP_VALUE_TYPE;\n switch (property.keyType) {\n case 'StructProperty':\n\n // TODO use buildversion or saveversion to differentiate\n\n // TODO: extra for properties like mSaveData, the structure is specific here\n // don'T ask me why this has this weird form. But maybe it is for maps in general that have Struct as key? So far we only see this in those 2 properties.\n // F4 FF FF FF 26 00 00 00 FF FF FF FF - Save in Release 1.0\n // F5 FF FF FF 27 00 00 00 FF FF FF FF - Save started in U8\n // FD FF FF FF 2B 00 00 00 FF FF FF FF - another Save started in U8\n // 11 00 00 00 EF FF FF FF 02 00 00 00 - Save ported from U5 -> U8\n if (propertyName === 'mSaveData' || propertyName === 'mUnresolvedSaveData') {\n key = Array.from(reader.readBytes(12)) as MAP_STRUCT_KEY_PROXY;\n } else {\n key = DynamicStructPropertyValue.read(reader, property.keyType);\n }\n\n break;\n case 'ObjectProperty':\n key = ObjectProperty.ReadValue(reader);\n break;\n case 'StrProperty':\n case 'NameProperty':\n key = StrProperty.ReadValue(reader);\n break;\n case 'EnumProperty':\n key = EnumProperty.ReadValue(reader);\n break;\n case 'IntProperty':\n case 'Int32Property':\n key = Int32Property.ReadValue(reader);\n break;\n case 'Int64Property':\n key = Int64Property.ReadValue(reader);\n break;\n case 'ByteProperty':\n key = ByteProperty.ReadValue(reader);\n break;\n default:\n throw new Error(`not implemented map key type ${property.keyType}`);\n }\n\n switch (property.valueType) {\n case 'StructProperty':\n value = DynamicStructPropertyValue.read(reader, property.valueType);\n break;\n case 'ObjectProperty':\n value = ObjectProperty.ReadValue(reader);\n break;\n case 'StrProperty':\n case 'NameProperty':\n value = StrProperty.ReadValue(reader);\n break;\n case 'EnumProperty':\n value = EnumProperty.ReadValue(reader);\n break;\n case 'IntProperty':\n case 'Int32Property':\n value = Int32Property.ReadValue(reader);\n break;\n case 'Int64Property':\n value = Int64Property.ReadValue(reader);\n break;\n case 'ByteProperty':\n value = ByteProperty.ReadValue(reader);\n break;\n default:\n throw new Error(`not implemented map value type ${property.valueType}`);\n }\n\n property.values.push([key, value]);\n }\n\n return property;\n }\n\n export const CalcOverhead = (property: MapProperty): number => {\n return property.keyType.length + 5 + property.valueType.length + 5 + 1;\n }\n\n export const Serialize = (writer: ContextWriter, property: MapProperty): void => {\n\n writer.writeString(property.keyType);\n writer.writeString(property.valueType);\n\n writer.writeByte(0);\n writer.writeInt32(property.modeType);\n\n writer.writeInt32(property.values.length);\n for (const entry of property.values) {\n\n switch (property.keyType) {\n case 'StructProperty':\n\n if (property.name === 'mSaveData' || property.name === 'mUnresolvedSaveData') {\n writer.writeBytesArray(entry[0] as MAP_STRUCT_KEY_PROXY);\n } else {\n DynamicStructPropertyValue.write(writer, entry[0] as DynamicStructPropertyValue);\n }\n\n break;\n case 'ObjectProperty':\n ObjectProperty.SerializeValue(writer, entry[0] as ObjectReference);\n break;\n case 'StrProperty':\n case 'NameProperty':\n StrProperty.SerializeValue(writer, entry[0] as string);\n break;\n case 'EnumProperty':\n EnumProperty.SerializeValue(writer, entry[0] as string);\n break;\n case 'IntProperty':\n case 'Int32Property':\n Int32Property.SerializeValue(writer, entry[0] as number);\n break;\n case 'Int64Property':\n Int64Property.SerializeValue(writer, entry[0] as string);\n break;\n case 'ByteProperty':\n ByteProperty.SerializeValue(writer, entry[0] as number);\n break;\n default:\n throw new Error(`not implemented map key type ${property.valueType}`);\n }\n\n switch (property.valueType) {\n case 'StructProperty':\n DynamicStructPropertyValue.write(writer, entry[1] as DynamicStructPropertyValue);\n break;\n case 'ObjectProperty':\n ObjectProperty.SerializeValue(writer, entry[1] as ObjectReference);\n break;\n case 'StrProperty':\n case 'NameProperty':\n StrProperty.SerializeValue(writer, entry[1] as string);\n break;\n case 'EnumProperty':\n EnumProperty.SerializeValue(writer, entry[1] as string);\n break;\n case 'IntProperty':\n case 'Int32Property':\n Int32Property.SerializeValue(writer, entry[1] as number);\n break;\n case 'Int64Property':\n Int64Property.SerializeValue(writer, entry[1] as string);\n break;\n case 'ByteProperty':\n ByteProperty.SerializeValue(writer, entry[1] as number);\n break;\n default:\n throw new Error(`not implemented map value type ${property.valueType}`);\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"MapProperty.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/MapProperty.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { DynamicStructPropertyValue } from '../../structs/DynamicStructPropertyValue';\nimport { ObjectReference } from '../../structs/ObjectReference';\nimport { AbstractBaseProperty } from './AbstractBaseProperty';\nimport { ByteProperty } from './ByteProperty';\nimport { EnumProperty } from './EnumProperty';\nimport { Int32Property } from './Int32Property';\nimport { Int64Property } from './Int64Property';\nimport { ObjectProperty } from './ObjectProperty';\nimport { StrProperty } from './StrProperty';\nimport { GENERIC_STRUCT_PROPERTY_VALUE } from './StructProperty';\n\n\nexport type MAP_STRUCT_PROXY = [number, number, number, number, number, number, number, number, number, number, number, number];\nexport type GENERIC_MAP_KEY_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE | MAP_STRUCT_PROXY;\nexport type GENERIC_MAP_VALUE_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE | MAP_STRUCT_PROXY;\n\nexport const isMapProperty = (property: any): property is MapProperty => !Array.isArray(property) && property.type === 'MapProperty';\n\nexport type MapProperty = AbstractBaseProperty & {\n type: 'MapProperty';\n keyType: string;\n valueType: string;\n modeType: number;\n modeUnk1: string | undefined;\n modeUnk2: string;\n modeUnk3: string;\n values: [key: GENERIC_MAP_KEY_TYPE, value: GENERIC_MAP_VALUE_TYPE][];\n};\n\n\nexport namespace MapProperty {\n\n export const Parse = (reader: ContextReader, propertyName: string, size: number, ueType: string = 'MapProperty', index: number = 0): MapProperty => {\n const start = reader.getBufferPosition();\n const property: MapProperty = {\n ...AbstractBaseProperty.Create({ index, ueType, type: '' }),\n type: 'MapProperty',\n keyType: reader.readString(),\n valueType: reader.readString(),\n guidInfo: undefined,\n modeType: 0,\n values: [],\n modeUnk1: undefined,\n modeUnk2: '',\n modeUnk3: ''\n };\n\n reader.readByte(); //0\n property.modeType = reader.readInt32(); //0\n\n const elementCount = reader.readInt32();\n for (let i = 0; i < elementCount; i++) {\n let key: GENERIC_MAP_KEY_TYPE;\n let value: GENERIC_MAP_VALUE_TYPE;\n switch (property.keyType) {\n case 'StructProperty':\n\n // TODO use buildversion or saveversion to differentiate\n\n // TODO: extra for properties like mSaveData, the structure is specific here\n // don'T ask me why this has this weird form. But maybe it is for maps in general that have Struct as key? So far we only see this in those 2 properties.\n // F4 FF FF FF 26 00 00 00 FF FF FF FF - Save in Release 1.0\n // F5 FF FF FF 27 00 00 00 FF FF FF FF - Save started in U8\n // FD FF FF FF 2B 00 00 00 FF FF FF FF - another Save started in U8\n // 11 00 00 00 EF FF FF FF 02 00 00 00 - Save ported from U5 -> U8\n if (propertyName === 'mSaveData' || propertyName === 'mUnresolvedSaveData') {\n key = Array.from(reader.readBytes(12)) as MAP_STRUCT_PROXY;\n } else {\n key = DynamicStructPropertyValue.read(reader, property.keyType);\n }\n\n break;\n case 'ObjectProperty':\n key = ObjectProperty.ReadValue(reader);\n break;\n case 'StrProperty':\n case 'NameProperty':\n key = StrProperty.ReadValue(reader);\n break;\n case 'EnumProperty':\n key = EnumProperty.ReadValue(reader);\n break;\n case 'IntProperty':\n case 'Int32Property':\n key = Int32Property.ReadValue(reader);\n break;\n case 'Int64Property':\n key = Int64Property.ReadValue(reader);\n break;\n case 'ByteProperty':\n key = ByteProperty.ReadValue(reader);\n break;\n default:\n throw new Error(`not implemented map key type ${property.keyType}`);\n }\n\n switch (property.valueType) {\n case 'StructProperty':\n if (propertyName === 'mIndexMapping' && reader.context.mods.MLBAlternates !== undefined) {\n value = Array.from(reader.readBytes(12)) as MAP_STRUCT_PROXY;\n } else {\n value = DynamicStructPropertyValue.read(reader, property.valueType);\n }\n break;\n case 'ObjectProperty':\n value = ObjectProperty.ReadValue(reader);\n break;\n case 'StrProperty':\n case 'NameProperty':\n value = StrProperty.ReadValue(reader);\n break;\n case 'EnumProperty':\n value = EnumProperty.ReadValue(reader);\n break;\n case 'IntProperty':\n case 'Int32Property':\n value = Int32Property.ReadValue(reader);\n break;\n case 'Int64Property':\n value = Int64Property.ReadValue(reader);\n break;\n case 'ByteProperty':\n value = ByteProperty.ReadValue(reader);\n break;\n default:\n throw new Error(`not implemented map value type ${property.valueType}`);\n }\n\n property.values.push([key, value]);\n }\n\n return property;\n }\n\n export const CalcOverhead = (property: MapProperty): number => {\n return property.keyType.length + 5 + property.valueType.length + 5 + 1;\n }\n\n export const Serialize = (writer: ContextWriter, property: MapProperty): void => {\n\n writer.writeString(property.keyType);\n writer.writeString(property.valueType);\n\n writer.writeByte(0);\n writer.writeInt32(property.modeType);\n\n writer.writeInt32(property.values.length);\n for (const entry of property.values) {\n\n switch (property.keyType) {\n case 'StructProperty':\n\n if (property.name === 'mSaveData' || property.name === 'mUnresolvedSaveData') {\n writer.writeBytesArray(entry[0] as MAP_STRUCT_PROXY);\n } else {\n DynamicStructPropertyValue.write(writer, entry[0] as DynamicStructPropertyValue);\n }\n\n break;\n case 'ObjectProperty':\n ObjectProperty.SerializeValue(writer, entry[0] as ObjectReference);\n break;\n case 'StrProperty':\n case 'NameProperty':\n StrProperty.SerializeValue(writer, entry[0] as string);\n break;\n case 'EnumProperty':\n EnumProperty.SerializeValue(writer, entry[0] as string);\n break;\n case 'IntProperty':\n case 'Int32Property':\n Int32Property.SerializeValue(writer, entry[0] as number);\n break;\n case 'Int64Property':\n Int64Property.SerializeValue(writer, entry[0] as string);\n break;\n case 'ByteProperty':\n ByteProperty.SerializeValue(writer, entry[0] as number);\n break;\n default:\n throw new Error(`not implemented map key type ${property.valueType}`);\n }\n\n switch (property.valueType) {\n case 'StructProperty':\n\n if (property.name === 'mIndexMapping' && writer.context.mods.MLBAlternates !== undefined) {\n writer.writeBytesArray(entry[1] as MAP_STRUCT_PROXY);\n } else {\n DynamicStructPropertyValue.write(writer, entry[1] as DynamicStructPropertyValue);\n }\n\n break;\n case 'ObjectProperty':\n ObjectProperty.SerializeValue(writer, entry[1] as ObjectReference);\n break;\n case 'StrProperty':\n case 'NameProperty':\n StrProperty.SerializeValue(writer, entry[1] as string);\n break;\n case 'EnumProperty':\n EnumProperty.SerializeValue(writer, entry[1] as string);\n break;\n case 'IntProperty':\n case 'Int32Property':\n Int32Property.SerializeValue(writer, entry[1] as number);\n break;\n case 'Int64Property':\n Int64Property.SerializeValue(writer, entry[1] as string);\n break;\n case 'ByteProperty':\n ByteProperty.SerializeValue(writer, entry[1] as number);\n break;\n default:\n throw new Error(`not implemented map value type ${property.valueType}`);\n }\n }\n }\n}\n"]}
@@ -6,6 +6,7 @@ export type FGDynamicStruct = {
6
6
  hasValidStruct: boolean;
7
7
  structReference?: ObjectReference;
8
8
  properties?: PropertiesMap;
9
+ rawBytes?: number[];
9
10
  };
10
11
  export declare namespace FGDynamicStruct {
11
12
  const Parse: (reader: ContextReader) => FGDynamicStruct;
@@ -1 +1 @@
1
- {"version":3,"file":"FGDynamicStruct.d.ts","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/structs/FGDynamicStruct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,MAAM,eAAe,GAAG;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAA;AAED,yBAAiB,eAAe,CAAC;IACtB,MAAM,KAAK,WAAY,aAAa,KAAG,eAgB7C,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,UAAU,eAAe,KAAG,IAS1E,CAAA;CACJ"}
1
+ {"version":3,"file":"FGDynamicStruct.d.ts","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/structs/FGDynamicStruct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAGzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOpD,MAAM,MAAM,eAAe,GAAG;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,yBAAiB,eAAe,CAAC;IACtB,MAAM,KAAK,WAAY,aAAa,KAAG,eAmB7C,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,UAAU,eAAe,KAAG,IAc1E,CAAA;CACJ"}
@@ -2,23 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FGDynamicStruct = void 0;
4
4
  const PropertiesList_1 = require("../property/PropertiesList");
5
+ const FINItemStateFileSystem_1 = require("./mods/FicsItNetworks/FINItemStateFileSystem");
5
6
  const ObjectReference_1 = require("./ObjectReference");
6
7
  var FGDynamicStruct;
7
8
  (function (FGDynamicStruct) {
8
9
  FGDynamicStruct.Parse = (reader) => {
9
- const hasValidStruct = reader.readInt32() >= 1;
10
- let structReference;
11
- let properties;
12
- if (hasValidStruct) {
13
- structReference = ObjectReference_1.ObjectReference.read(reader);
14
- const binarySize = reader.readInt32();
15
- properties = PropertiesList_1.PropertiesList.ParseList(reader);
16
- }
17
- return {
18
- hasValidStruct,
19
- structReference,
20
- properties
10
+ const struct = {
11
+ hasValidStruct: reader.readInt32() >= 1
21
12
  };
13
+ if (struct.hasValidStruct) {
14
+ struct.structReference = ObjectReference_1.ObjectReference.read(reader);
15
+ if (reader.context.mods.FicsItNetworks !== undefined && FINItemStateFileSystem_1.FINItemStateFileSystem.IsFINItemStateFileSystem(struct)) {
16
+ struct.rawBytes = FINItemStateFileSystem_1.FINItemStateFileSystem.read(reader);
17
+ }
18
+ else {
19
+ const binarySize = reader.readInt32();
20
+ struct.properties = PropertiesList_1.PropertiesList.ParseList(reader);
21
+ }
22
+ }
23
+ return struct;
22
24
  };
23
25
  FGDynamicStruct.Serialize = (writer, struct) => {
24
26
  writer.writeInt32(struct.hasValidStruct ? 1 : 0);
@@ -26,7 +28,12 @@ var FGDynamicStruct;
26
28
  ObjectReference_1.ObjectReference.write(writer, struct.structReference);
27
29
  const before = writer.getBufferPosition();
28
30
  writer.writeInt32Zero();
29
- PropertiesList_1.PropertiesList.SerializeList(writer, struct.properties);
31
+ if (FINItemStateFileSystem_1.FINItemStateFileSystem.IsFINItemStateFileSystem(struct)) {
32
+ FINItemStateFileSystem_1.FINItemStateFileSystem.write(writer, struct.rawBytes);
33
+ }
34
+ else {
35
+ PropertiesList_1.PropertiesList.SerializeList(writer, struct.properties);
36
+ }
30
37
  writer.writeBinarySizeFromPosition(before, before + 4);
31
38
  }
32
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FGDynamicStruct.js","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/structs/FGDynamicStruct.ts"],"names":[],"mappings":";;;AAGA,+DAA4D;AAC5D,uDAAoD;AASpD,IAAiB,eAAe,CA6B/B;AA7BD,WAAiB,eAAe;IACf,qBAAK,GAAG,CAAC,MAAqB,EAAmB,EAAE;QAC5D,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,eAAe,CAAC;QACpB,IAAI,UAAU,CAAC;QAEf,IAAI,cAAc,EAAE,CAAC;YACjB,eAAe,GAAG,iCAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YACtC,UAAU,GAAG,+BAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,OAAO;YACH,cAAc;YACd,eAAe;YACf,UAAU;SACa,CAAC;IAChC,CAAC,CAAA;IAEY,yBAAS,GAAG,CAAC,MAAqB,EAAE,MAAuB,EAAQ,EAAE;QAC9E,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,iCAAe,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAgB,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC1C,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,+BAAc,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,UAAW,CAAC,CAAC;YACzD,MAAM,CAAC,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC,CAAA;AACL,CAAC,EA7BgB,eAAe,+BAAf,eAAe,QA6B/B","sourcesContent":["import { ContextReader } from '../../../context/context-reader';\nimport { ContextWriter } from '../../../context/context-writer';\nimport { PropertiesMap } from '../property/generic/AbstractBaseProperty';\nimport { PropertiesList } from '../property/PropertiesList';\nimport { ObjectReference } from './ObjectReference';\n\n\nexport type FGDynamicStruct = {\n hasValidStruct: boolean;\n structReference?: ObjectReference;\n properties?: PropertiesMap;\n}\n\nexport namespace FGDynamicStruct {\n export const Parse = (reader: ContextReader): FGDynamicStruct => {\n const hasValidStruct = reader.readInt32() >= 1;\n let structReference;\n let properties;\n\n if (hasValidStruct) {\n structReference = ObjectReference.read(reader);\n const binarySize = reader.readInt32();\n properties = PropertiesList.ParseList(reader);\n }\n\n return {\n hasValidStruct,\n structReference,\n properties\n } satisfies FGDynamicStruct;\n }\n\n export const Serialize = (writer: ContextWriter, struct: FGDynamicStruct): void => {\n writer.writeInt32(struct.hasValidStruct ? 1 : 0);\n if (struct.hasValidStruct) {\n ObjectReference.write(writer, struct.structReference!);\n const before = writer.getBufferPosition();\n writer.writeInt32Zero();\n PropertiesList.SerializeList(writer, struct.properties!);\n writer.writeBinarySizeFromPosition(before, before + 4);\n }\n }\n}"]}
1
+ {"version":3,"file":"FGDynamicStruct.js","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/structs/FGDynamicStruct.ts"],"names":[],"mappings":";;;AAGA,+DAA4D;AAC5D,yFAAsF;AACtF,uDAAoD;AAcpD,IAAiB,eAAe,CAqC/B;AArCD,WAAiB,eAAe;IACf,qBAAK,GAAG,CAAC,MAAqB,EAAmB,EAAE;QAE5D,MAAM,MAAM,GAAoB;YAC5B,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;SAC1C,CAAC;QAEF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,CAAC,eAAe,GAAG,iCAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEtD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,+CAAsB,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9G,MAAM,CAAC,QAAQ,GAAG,+CAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtC,MAAM,CAAC,UAAU,GAAG,+BAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;QAEL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAA;IAEY,yBAAS,GAAG,CAAC,MAAqB,EAAE,MAAuB,EAAQ,EAAE;QAC9E,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,iCAAe,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAgB,CAAC,CAAC;YAEvD,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC1C,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,+CAAsB,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,+CAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,QAAS,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACJ,+BAAc,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,UAAW,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,CAAC,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC,CAAA;AACL,CAAC,EArCgB,eAAe,+BAAf,eAAe,QAqC/B","sourcesContent":["import { ContextReader } from '../../../context/context-reader';\nimport { ContextWriter } from '../../../context/context-writer';\nimport { PropertiesMap } from '../property/generic/AbstractBaseProperty';\nimport { PropertiesList } from '../property/PropertiesList';\nimport { FINItemStateFileSystem } from './mods/FicsItNetworks/FINItemStateFileSystem';\nimport { ObjectReference } from './ObjectReference';\n\n\n/**\n * generic Dynamic struct. if @param hasValidStruct is true, it also has a @param structReference and @param properties. Else not.\n * @param rawBytes is only filled for the FIN mod so far.\n */\nexport type FGDynamicStruct = {\n hasValidStruct: boolean;\n structReference?: ObjectReference;\n properties?: PropertiesMap;\n rawBytes?: number[];\n};\n\nexport namespace FGDynamicStruct {\n export const Parse = (reader: ContextReader): FGDynamicStruct => {\n\n const struct: FGDynamicStruct = {\n hasValidStruct: reader.readInt32() >= 1\n };\n\n if (struct.hasValidStruct) {\n struct.structReference = ObjectReference.read(reader);\n\n if (reader.context.mods.FicsItNetworks !== undefined && FINItemStateFileSystem.IsFINItemStateFileSystem(struct)) {\n struct.rawBytes = FINItemStateFileSystem.read(reader);\n } else {\n const binarySize = reader.readInt32();\n struct.properties = PropertiesList.ParseList(reader);\n }\n\n }\n\n return struct;\n }\n\n export const Serialize = (writer: ContextWriter, struct: FGDynamicStruct): void => {\n writer.writeInt32(struct.hasValidStruct ? 1 : 0);\n if (struct.hasValidStruct) {\n ObjectReference.write(writer, struct.structReference!);\n\n const before = writer.getBufferPosition();\n writer.writeInt32Zero();\n if (FINItemStateFileSystem.IsFINItemStateFileSystem(struct)) {\n FINItemStateFileSystem.write(writer, struct.rawBytes!);\n } else {\n PropertiesList.SerializeList(writer, struct.properties!);\n }\n writer.writeBinarySizeFromPosition(before, before + 4);\n }\n }\n}"]}
@@ -0,0 +1,19 @@
1
+ import { ContextReader } from "../../../context/context-reader";
2
+ import { ContextWriter } from "../../../context/context-writer";
3
+ export type SaveBodyValidation = {
4
+ grids: Grids;
5
+ };
6
+ export type Grids = {
7
+ [parentName: string]: {
8
+ cellSize: number;
9
+ gridHash: number;
10
+ children: {
11
+ [name: string]: number;
12
+ };
13
+ };
14
+ };
15
+ export declare namespace SaveBodyValidation {
16
+ const Parse: (reader: ContextReader) => SaveBodyValidation;
17
+ const Serialize: (writer: ContextWriter, saveBodyValidation: SaveBodyValidation) => void;
18
+ }
19
+ //# sourceMappingURL=SaveBodyValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveBodyValidation.d.ts","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/structs/SaveBodyValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIhE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAChB,CAAC,UAAU,EAAE,MAAM,GAAG;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE;YACN,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;SAC1B,CAAA;KACJ,CAAA;CACJ,CAAC;AAOF,yBAAiB,kBAAkB,CAAC;IACzB,MAAM,KAAK,WAAY,aAAa,KAAG,kBAyB7C,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,sBAAsB,kBAAkB,KAAG,IAczF,CAAA;CACJ"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SaveBodyValidation = void 0;
4
+ var SaveBodyValidation;
5
+ (function (SaveBodyValidation) {
6
+ SaveBodyValidation.Parse = (reader) => {
7
+ reader.readInt32Zero();
8
+ const grids = {};
9
+ const count = reader.readInt32();
10
+ for (let i = 0; i < count; i++) {
11
+ const gridName = reader.readString();
12
+ const cellSize = reader.readInt32();
13
+ const gridHash = reader.readUint32();
14
+ grids[gridName] = { children: {}, cellSize, gridHash };
15
+ const childrenCount = reader.readUint32();
16
+ for (let i = 0; i < childrenCount; i++) {
17
+ const levelInstanceName = reader.readString();
18
+ const cellHash = reader.readUint32();
19
+ grids[gridName].children[levelInstanceName] = cellHash;
20
+ }
21
+ }
22
+ return {
23
+ grids
24
+ };
25
+ };
26
+ SaveBodyValidation.Serialize = (writer, saveBodyValidation) => {
27
+ writer.writeInt32(0);
28
+ writer.writeInt32(Object.entries(saveBodyValidation.grids).length);
29
+ for (const gridEntry of Object.entries(saveBodyValidation.grids)) {
30
+ writer.writeString(gridEntry[0]);
31
+ writer.writeInt32(gridEntry[1].cellSize);
32
+ writer.writeUint32(gridEntry[1].gridHash);
33
+ writer.writeUint32(Object.values(gridEntry[1].children).length);
34
+ for (const child of Object.entries(gridEntry[1].children)) {
35
+ writer.writeString(child[0]);
36
+ writer.writeUint32(child[1]);
37
+ }
38
+ }
39
+ };
40
+ })(SaveBodyValidation || (exports.SaveBodyValidation = SaveBodyValidation = {}));
41
+ //# sourceMappingURL=SaveBodyValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveBodyValidation.js","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/structs/SaveBodyValidation.ts"],"names":[],"mappings":";;;AAwBA,IAAiB,kBAAkB,CA2ClC;AA3CD,WAAiB,kBAAkB;IAClB,wBAAK,GAAG,CAAC,MAAqB,EAAsB,EAAE;QAE/D,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,MAAM,KAAK,GAAU,EAAE,CAAC;QAGxB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACrC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAEvD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBACrC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC;YAC3D,CAAC;QACL,CAAC;QAED,OAAO;YACH,KAAK;SACqB,CAAC;IACnC,CAAC,CAAA;IAEY,4BAAS,GAAG,CAAC,MAAqB,EAAE,kBAAsC,EAAQ,EAAE;QAC7F,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QACnE,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE1C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;YAChE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;IACL,CAAC,CAAA;AACL,CAAC,EA3CgB,kBAAkB,kCAAlB,kBAAkB,QA2ClC","sourcesContent":["import { ContextReader } from \"../../../context/context-reader\";\nimport { ContextWriter } from \"../../../context/context-writer\";\n\n\n\nexport type SaveBodyValidation = {\n grids: Grids;\n};\n\nexport type Grids = {\n [parentName: string]: {\n cellSize: number;\n gridHash: number;\n children: {\n [name: string]: number;\t// children object contains names and their binary size.\n }\n }\n};\n\n/**\n * Relates to FWorldPartitionValidationData in FWPSaveDataMigrationContext.h\n * so far has grids (WPActorCellMapping)\n * Is very static for normal game map.\n */\nexport namespace SaveBodyValidation {\n export const Parse = (reader: ContextReader): SaveBodyValidation => {\n\n reader.readInt32Zero();\n const grids: Grids = {};\n\n // normal game map has 6 grids: None, main grid, landscape grid, exploration grid, foliage grid, hlod0\n const count = reader.readInt32();\n for (let i = 0; i < count; i++) {\n const gridName = reader.readString();\n\n const cellSize = reader.readInt32();\n const gridHash = reader.readUint32();\n grids[gridName] = { children: {}, cellSize, gridHash };\n\n const childrenCount = reader.readUint32();\n for (let i = 0; i < childrenCount; i++) {\n const levelInstanceName = reader.readString();\n const cellHash = reader.readUint32();\n grids[gridName].children[levelInstanceName] = cellHash;\n }\n }\n\n return {\n grids\n } satisfies SaveBodyValidation;\n }\n\n export const Serialize = (writer: ContextWriter, saveBodyValidation: SaveBodyValidation): void => {\n writer.writeInt32(0);\n writer.writeInt32(Object.entries(saveBodyValidation.grids).length);\n for (const gridEntry of Object.entries(saveBodyValidation.grids)) {\n writer.writeString(gridEntry[0]);\n writer.writeInt32(gridEntry[1].cellSize);\n writer.writeUint32(gridEntry[1].gridHash);\n\n writer.writeUint32(Object.values(gridEntry[1].children).length);\n for (const child of Object.entries(gridEntry[1].children)) {\n writer.writeString(child[0]);\n writer.writeUint32(child[1]);\n }\n }\n }\n}"]}
@@ -0,0 +1,12 @@
1
+ import { ContextReader } from "../../../../../context/context-reader";
2
+ import { ContextWriter } from "../../../../../context/context-writer";
3
+ import { FGDynamicStruct } from "../../FGDynamicStruct";
4
+ import { ObjectReference } from "../../ObjectReference";
5
+ export type FINItemStateFileSystem = number[];
6
+ export declare namespace FINItemStateFileSystem {
7
+ const ExactStructReference: ObjectReference;
8
+ const IsFINItemStateFileSystem: (struct: FGDynamicStruct) => boolean;
9
+ const read: (reader: ContextReader) => FINItemStateFileSystem;
10
+ const write: (writer: ContextWriter, rawBytes: FINItemStateFileSystem) => void;
11
+ }
12
+ //# sourceMappingURL=FINItemStateFileSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FINItemStateFileSystem.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/structs/mods/FicsItNetworks/FINItemStateFileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,MAAM,MAAM,sBAAsB,GAAG,MAAM,EAAE,CAAC;AAE9C,yBAAiB,sBAAsB,CAAC;IAE7B,MAAM,oBAAoB,EAAE,eAGlC,CAAC;IAEK,MAAM,wBAAwB,WAAY,eAAe,KAAG,OAElE,CAAA;IAEM,MAAM,IAAI,WAAY,aAAa,KAAG,sBAG5C,CAAA;IAEM,MAAM,KAAK,WAAY,aAAa,YAAY,sBAAsB,KAAG,IAE/E,CAAA;CACJ"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FINItemStateFileSystem = void 0;
4
+ const ObjectReference_1 = require("../../ObjectReference");
5
+ var FINItemStateFileSystem;
6
+ (function (FINItemStateFileSystem) {
7
+ FINItemStateFileSystem.ExactStructReference = {
8
+ levelName: '',
9
+ pathName: '/Script/FicsItNetworksComputer.FINItemStateFileSystem'
10
+ };
11
+ FINItemStateFileSystem.IsFINItemStateFileSystem = (struct) => {
12
+ return ObjectReference_1.ObjectReference.IsEqual(struct.structReference, FINItemStateFileSystem.ExactStructReference);
13
+ };
14
+ FINItemStateFileSystem.read = (reader) => {
15
+ const numBytes = reader.readInt32();
16
+ return Array.from(reader.readBytes(numBytes));
17
+ };
18
+ FINItemStateFileSystem.write = (writer, rawBytes) => {
19
+ writer.writeBytesArray(rawBytes);
20
+ };
21
+ })(FINItemStateFileSystem || (exports.FINItemStateFileSystem = FINItemStateFileSystem = {}));
22
+ //# sourceMappingURL=FINItemStateFileSystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FINItemStateFileSystem.js","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/structs/mods/FicsItNetworks/FINItemStateFileSystem.ts"],"names":[],"mappings":";;;AAGA,2DAAwD;AAOxD,IAAiB,sBAAsB,CAmBtC;AAnBD,WAAiB,sBAAsB;IAEtB,2CAAoB,GAAoB;QACjD,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,uDAAuD;KACpE,CAAC;IAEW,+CAAwB,GAAG,CAAC,MAAuB,EAAW,EAAE;QACzE,OAAO,iCAAe,CAAC,OAAO,CAAC,MAAM,CAAC,eAAgB,EAAE,uBAAA,oBAAoB,CAAC,CAAC;IAClF,CAAC,CAAA;IAEY,2BAAI,GAAG,CAAC,MAAqB,EAA0B,EAAE;QAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC,CAAA;IAEY,4BAAK,GAAG,CAAC,MAAqB,EAAE,QAAgC,EAAQ,EAAE;QACnF,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAA;AACL,CAAC,EAnBgB,sBAAsB,sCAAtB,sBAAsB,QAmBtC","sourcesContent":["import { ContextReader } from \"../../../../../context/context-reader\";\nimport { ContextWriter } from \"../../../../../context/context-writer\";\nimport { FGDynamicStruct } from \"../../FGDynamicStruct\";\nimport { ObjectReference } from \"../../ObjectReference\";\n\n/**\n * specifically the FileSystem item state of the FicsItNetworks mod has just raw bytes.\n */\nexport type FINItemStateFileSystem = number[];\n\nexport namespace FINItemStateFileSystem {\n\n export const ExactStructReference: ObjectReference = {\n levelName: '',\n pathName: '/Script/FicsItNetworksComputer.FINItemStateFileSystem'\n };\n\n export const IsFINItemStateFileSystem = (struct: FGDynamicStruct): boolean => {\n return ObjectReference.IsEqual(struct.structReference!, ExactStructReference);\n }\n\n export const read = (reader: ContextReader): FINItemStateFileSystem => {\n const numBytes = reader.readInt32();\n return Array.from(reader.readBytes(numBytes));\n }\n\n export const write = (writer: ContextWriter, rawBytes: FINItemStateFileSystem): void => {\n writer.writeBytesArray(rawBytes);\n }\n}"]}
@@ -8,7 +8,7 @@ export declare class ReadableStreamParser {
8
8
  stream: ReadableStream<string>;
9
9
  startStreaming: () => Promise<void>;
10
10
  };
11
- private static WriteHeaderAndGrids;
11
+ private static WriteHeaderAndSaveBodyValidation;
12
12
  private static ReadWriteLevels;
13
13
  }
14
14
  //# sourceMappingURL=readable-stream-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readable-stream-parser.d.ts","sourceRoot":"","sources":["../../../../src/parser/stream/reworked/readable-stream-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,cAAc,EAAmC,MAAM,YAAY,CAAC;AAwD9F,qBAAa,oBAAoB;IAEhC,OAAO,CAAC,MAAM,CAAC,kCAAkC,CAgC/C;IAUF,OAAc,kCAAkC,SACzC,MAAM,SACL,eAAe,YACZ,OAAO,CAAC;QACjB,sBAAsB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;QAC1D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KACxD,CAAC,KACA;QAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAAC,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CA8FzE;IAGD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CASjC;mBAEoB,eAAe;CAyIpC"}
1
+ {"version":3,"file":"readable-stream-parser.d.ts","sourceRoot":"","sources":["../../../../src/parser/stream/reworked/readable-stream-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,cAAc,EAAmC,MAAM,YAAY,CAAC;AAyD9F,qBAAa,oBAAoB;IAEhC,OAAO,CAAC,MAAM,CAAC,kCAAkC,CAgC/C;IAUF,OAAc,kCAAkC,SACzC,MAAM,SACL,eAAe,YACZ,OAAO,CAAC;QACjB,sBAAsB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;QAC1D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KACxD,CAAC,KACA;QAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAAC,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CA2FzE;IAGD,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAQ9C;mBAEoB,eAAe;CAyIpC"}