@etothepii/satisfactory-file-parser 3.3.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/GUIDE.md +11 -7
  3. package/README.md +4 -4
  4. package/build/index.d.ts +112 -102
  5. package/build/index.d.ts.map +1 -1
  6. package/build/index.js +42 -40
  7. package/build/index.js.map +1 -1
  8. package/build/parser/byte/binary-readable.interface.d.ts +1 -0
  9. package/build/parser/byte/binary-readable.interface.d.ts.map +1 -1
  10. package/build/parser/byte/binary-readable.interface.js.map +1 -1
  11. package/build/parser/byte/byte-reader.class.d.ts +1 -0
  12. package/build/parser/byte/byte-reader.class.d.ts.map +1 -1
  13. package/build/parser/byte/byte-reader.class.js +6 -2
  14. package/build/parser/byte/byte-reader.class.js.map +1 -1
  15. package/build/parser/byte/byte-writer.class.d.ts +1 -0
  16. package/build/parser/byte/byte-writer.class.d.ts.map +1 -1
  17. package/build/parser/byte/byte-writer.class.js +6 -0
  18. package/build/parser/byte/byte-writer.class.js.map +1 -1
  19. package/build/parser/context/context-reader.d.ts +1 -1
  20. package/build/parser/context/context-reader.d.ts.map +1 -1
  21. package/build/parser/context/context-reader.js.map +1 -1
  22. package/build/parser/context/context-writer.d.ts +1 -1
  23. package/build/parser/context/context-writer.d.ts.map +1 -1
  24. package/build/parser/context/context-writer.js.map +1 -1
  25. package/build/parser/context/hierarchical-version-context.d.ts +11 -0
  26. package/build/parser/context/hierarchical-version-context.d.ts.map +1 -0
  27. package/build/parser/context/hierarchical-version-context.js +24 -0
  28. package/build/parser/context/hierarchical-version-context.js.map +1 -0
  29. package/build/parser/context/{context.d.ts → reader-writer-context.d.ts} +5 -3
  30. package/build/parser/context/reader-writer-context.d.ts.map +1 -0
  31. package/build/parser/context/{context.js → reader-writer-context.js} +1 -1
  32. package/build/parser/context/reader-writer-context.js.map +1 -0
  33. package/build/parser/parser.d.ts.map +1 -1
  34. package/build/parser/parser.js +29 -15
  35. package/build/parser/parser.js.map +1 -1
  36. package/build/parser/satisfactory/blueprint/blueprint-config-version.d.ts +4 -2
  37. package/build/parser/satisfactory/blueprint/blueprint-config-version.d.ts.map +1 -1
  38. package/build/parser/satisfactory/blueprint/blueprint-config-version.js +4 -2
  39. package/build/parser/satisfactory/blueprint/blueprint-config-version.js.map +1 -1
  40. package/build/parser/satisfactory/blueprint/blueprint-config.d.ts +4 -5
  41. package/build/parser/satisfactory/blueprint/blueprint-config.d.ts.map +1 -1
  42. package/build/parser/satisfactory/blueprint/blueprint-config.js +16 -14
  43. package/build/parser/satisfactory/blueprint/blueprint-config.js.map +1 -1
  44. package/build/parser/satisfactory/blueprint/blueprint-header.d.ts +2 -0
  45. package/build/parser/satisfactory/blueprint/blueprint-header.d.ts.map +1 -1
  46. package/build/parser/satisfactory/blueprint/blueprint-header.js +18 -2
  47. package/build/parser/satisfactory/blueprint/blueprint-header.js.map +1 -1
  48. package/build/parser/satisfactory/blueprint/blueprint-reader.d.ts.map +1 -1
  49. package/build/parser/satisfactory/blueprint/blueprint-reader.js +6 -2
  50. package/build/parser/satisfactory/blueprint/blueprint-reader.js.map +1 -1
  51. package/build/parser/satisfactory/blueprint/blueprint-writer.d.ts.map +1 -1
  52. package/build/parser/satisfactory/blueprint/blueprint-writer.js +5 -2
  53. package/build/parser/satisfactory/blueprint/blueprint-writer.js.map +1 -1
  54. package/build/parser/satisfactory/save/data-blob.d.ts +17 -0
  55. package/build/parser/satisfactory/save/data-blob.d.ts.map +1 -0
  56. package/build/parser/satisfactory/save/data-blob.js +137 -0
  57. package/build/parser/satisfactory/save/data-blob.js.map +1 -0
  58. package/build/parser/satisfactory/save/level.d.ts +5 -10
  59. package/build/parser/satisfactory/save/level.d.ts.map +1 -1
  60. package/build/parser/satisfactory/save/level.js +52 -180
  61. package/build/parser/satisfactory/save/level.js.map +1 -1
  62. package/build/parser/satisfactory/save/satisfactory-save-header.d.ts.map +1 -1
  63. package/build/parser/satisfactory/save/satisfactory-save-header.js +5 -3
  64. package/build/parser/satisfactory/save/satisfactory-save-header.js.map +1 -1
  65. package/build/parser/satisfactory/save/satisfactory-save.d.ts +3 -1
  66. package/build/parser/satisfactory/save/satisfactory-save.d.ts.map +1 -1
  67. package/build/parser/satisfactory/save/satisfactory-save.js.map +1 -1
  68. package/build/parser/satisfactory/save/save-body-chunks.js +2 -2
  69. package/build/parser/satisfactory/save/save-body-chunks.js.map +1 -1
  70. package/build/parser/satisfactory/save/save-custom-version.d.ts +8 -2
  71. package/build/parser/satisfactory/save/save-custom-version.d.ts.map +1 -1
  72. package/build/parser/satisfactory/save/save-custom-version.js +8 -2
  73. package/build/parser/satisfactory/save/save-custom-version.js.map +1 -1
  74. package/build/parser/satisfactory/save/save-reader.d.ts +2 -2
  75. package/build/parser/satisfactory/save/save-reader.d.ts.map +1 -1
  76. package/build/parser/satisfactory/save/save-reader.js +16 -13
  77. package/build/parser/satisfactory/save/save-reader.js.map +1 -1
  78. package/build/parser/satisfactory/save/save-writer.d.ts.map +1 -1
  79. package/build/parser/satisfactory/save/save-writer.js +4 -1
  80. package/build/parser/satisfactory/save/save-writer.js.map +1 -1
  81. package/build/parser/satisfactory/save/save.types.d.ts +1 -1
  82. package/build/parser/satisfactory/save/save.types.d.ts.map +1 -1
  83. package/build/parser/satisfactory/save/save.types.js.map +1 -1
  84. package/build/parser/satisfactory/save/toc-blob.d.ts +18 -0
  85. package/build/parser/satisfactory/save/toc-blob.d.ts.map +1 -0
  86. package/build/parser/satisfactory/save/toc-blob.js +97 -0
  87. package/build/parser/satisfactory/save/toc-blob.js.map +1 -0
  88. package/build/parser/satisfactory/types/objects/SaveObject.d.ts +4 -0
  89. package/build/parser/satisfactory/types/objects/SaveObject.d.ts.map +1 -1
  90. package/build/parser/satisfactory/types/objects/SaveObject.js +19 -5
  91. package/build/parser/satisfactory/types/objects/SaveObject.js.map +1 -1
  92. package/build/parser/satisfactory/types/property/PropertiesList.d.ts +4 -4
  93. package/build/parser/satisfactory/types/property/PropertiesList.d.ts.map +1 -1
  94. package/build/parser/satisfactory/types/property/PropertiesList.js +73 -114
  95. package/build/parser/satisfactory/types/property/PropertiesList.js.map +1 -1
  96. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts +9 -12
  97. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts.map +1 -1
  98. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.js +12 -7
  99. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.js.map +1 -1
  100. package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts +10 -5
  101. package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts.map +1 -1
  102. package/build/parser/satisfactory/types/property/generic/BoolProperty.js +20 -23
  103. package/build/parser/satisfactory/types/property/generic/BoolProperty.js.map +1 -1
  104. package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts +12 -7
  105. package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts.map +1 -1
  106. package/build/parser/satisfactory/types/property/generic/ByteProperty.js +37 -34
  107. package/build/parser/satisfactory/types/property/generic/ByteProperty.js.map +1 -1
  108. package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts +9 -5
  109. package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts.map +1 -1
  110. package/build/parser/satisfactory/types/property/generic/DoubleProperty.js +15 -23
  111. package/build/parser/satisfactory/types/property/generic/DoubleProperty.js.map +1 -1
  112. package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts +10 -5
  113. package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts.map +1 -1
  114. package/build/parser/satisfactory/types/property/generic/EnumProperty.js +17 -23
  115. package/build/parser/satisfactory/types/property/generic/EnumProperty.js.map +1 -1
  116. package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts +9 -5
  117. package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts.map +1 -1
  118. package/build/parser/satisfactory/types/property/generic/FloatProperty.js +15 -23
  119. package/build/parser/satisfactory/types/property/generic/FloatProperty.js.map +1 -1
  120. package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts +9 -5
  121. package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts.map +1 -1
  122. package/build/parser/satisfactory/types/property/generic/Int64Property.js +15 -23
  123. package/build/parser/satisfactory/types/property/generic/Int64Property.js.map +1 -1
  124. package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts +8 -4
  125. package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts.map +1 -1
  126. package/build/parser/satisfactory/types/property/generic/Int8Property.js +11 -20
  127. package/build/parser/satisfactory/types/property/generic/Int8Property.js.map +1 -1
  128. package/build/parser/satisfactory/types/property/generic/IntProperty.d.ts +20 -0
  129. package/build/parser/satisfactory/types/property/generic/IntProperty.d.ts.map +1 -0
  130. package/build/parser/satisfactory/types/property/generic/IntProperty.js +25 -0
  131. package/build/parser/satisfactory/types/property/generic/IntProperty.js.map +1 -0
  132. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.d.ts +21 -0
  133. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.d.ts.map +1 -0
  134. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.js +26 -0
  135. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.js.map +1 -0
  136. package/build/parser/satisfactory/types/property/generic/NameProperty.d.ts +20 -0
  137. package/build/parser/satisfactory/types/property/generic/NameProperty.d.ts.map +1 -0
  138. package/build/parser/satisfactory/types/property/generic/NameProperty.js +25 -0
  139. package/build/parser/satisfactory/types/property/generic/NameProperty.js.map +1 -0
  140. package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts +9 -5
  141. package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts.map +1 -1
  142. package/build/parser/satisfactory/types/property/generic/ObjectProperty.js +15 -23
  143. package/build/parser/satisfactory/types/property/generic/ObjectProperty.js.map +1 -1
  144. package/build/parser/satisfactory/types/property/generic/SingleProperty.d.ts +20 -0
  145. package/build/parser/satisfactory/types/property/generic/SingleProperty.d.ts.map +1 -0
  146. package/build/parser/satisfactory/types/property/generic/SingleProperty.js +25 -0
  147. package/build/parser/satisfactory/types/property/generic/SingleProperty.js.map +1 -0
  148. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts +9 -5
  149. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts.map +1 -1
  150. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js +15 -23
  151. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js.map +1 -1
  152. package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts +9 -5
  153. package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts.map +1 -1
  154. package/build/parser/satisfactory/types/property/generic/StrProperty.js +15 -23
  155. package/build/parser/satisfactory/types/property/generic/StrProperty.js.map +1 -1
  156. package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts +9 -5
  157. package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts.map +1 -1
  158. package/build/parser/satisfactory/types/property/generic/TextProperty.js +38 -45
  159. package/build/parser/satisfactory/types/property/generic/TextProperty.js.map +1 -1
  160. package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts +9 -5
  161. package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts.map +1 -1
  162. package/build/parser/satisfactory/types/property/generic/Uint32Property.js +15 -23
  163. package/build/parser/satisfactory/types/property/generic/Uint32Property.js.map +1 -1
  164. package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts +9 -5
  165. package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts.map +1 -1
  166. package/build/parser/satisfactory/types/property/generic/Uint64Property.js +14 -22
  167. package/build/parser/satisfactory/types/property/generic/Uint64Property.js.map +1 -1
  168. package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts +9 -5
  169. package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts.map +1 -1
  170. package/build/parser/satisfactory/types/property/generic/Uint8Property.js +14 -22
  171. package/build/parser/satisfactory/types/property/generic/Uint8Property.js.map +1 -1
  172. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.d.ts +15 -0
  173. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.d.ts.map +1 -0
  174. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.js +129 -0
  175. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.js.map +1 -0
  176. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.d.ts +55 -0
  177. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.d.ts.map +1 -0
  178. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.js +24 -0
  179. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.js.map +1 -0
  180. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.d.ts +20 -0
  181. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.d.ts.map +1 -0
  182. package/build/parser/satisfactory/types/property/generic/{MapProperty.js → containers/MapProperty.js} +52 -61
  183. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.js.map +1 -0
  184. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.d.ts +14 -0
  185. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.d.ts.map +1 -0
  186. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.js +90 -0
  187. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.js.map +1 -0
  188. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.d.ts +34 -0
  189. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.d.ts.map +1 -0
  190. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.js +17 -0
  191. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.js.map +1 -0
  192. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.d.ts +59 -0
  193. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.d.ts.map +1 -0
  194. package/build/parser/satisfactory/types/property/generic/{StructProperty.js → containers/StructProperty.js} +61 -84
  195. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.js.map +1 -0
  196. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts +2 -0
  197. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts.map +1 -1
  198. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.js +14 -5
  199. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.js.map +1 -1
  200. package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.d.ts.map +1 -1
  201. package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.js.map +1 -1
  202. package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.js +2 -2
  203. package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.js.map +1 -1
  204. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.d.ts +4 -2
  205. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.d.ts.map +1 -1
  206. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.js +4 -2
  207. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.js.map +1 -1
  208. package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts +4 -4
  209. package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts.map +1 -1
  210. package/build/parser/satisfactory/types/structs/GUIDInfo.js +6 -6
  211. package/build/parser/satisfactory/types/structs/GUIDInfo.js.map +1 -1
  212. package/build/parser/satisfactory/types/structs/SaveBodyValidation.d.ts.map +1 -1
  213. package/build/parser/satisfactory/types/structs/SaveBodyValidation.js +0 -2
  214. package/build/parser/satisfactory/types/structs/SaveBodyValidation.js.map +1 -1
  215. package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts +1 -1
  216. package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts.map +1 -1
  217. package/build/parser/satisfactory/types/structs/SoftObjectReference.js +2 -2
  218. package/build/parser/satisfactory/types/structs/SoftObjectReference.js.map +1 -1
  219. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.d.ts +12 -0
  220. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.d.ts.map +1 -0
  221. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.js +21 -0
  222. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.js.map +1 -0
  223. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.d.ts +11 -0
  224. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.d.ts.map +1 -0
  225. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.js +22 -0
  226. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.js.map +1 -0
  227. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.d.ts +14 -0
  228. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.d.ts.map +1 -0
  229. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.js +24 -0
  230. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.js.map +1 -0
  231. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.d.ts +12 -0
  232. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.d.ts.map +1 -0
  233. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.js +22 -0
  234. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.js.map +1 -0
  235. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.d.ts +11 -0
  236. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.d.ts.map +1 -0
  237. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.js +18 -0
  238. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.js.map +1 -0
  239. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.d.ts +11 -0
  240. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.d.ts.map +1 -0
  241. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.js +38 -0
  242. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.js.map +1 -0
  243. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.d.ts +30 -0
  244. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.d.ts.map +1 -0
  245. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.js +182 -0
  246. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.js.map +1 -0
  247. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.d.ts +11 -0
  248. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.d.ts.map +1 -0
  249. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.js +26 -0
  250. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.js.map +1 -0
  251. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.d.ts +17 -0
  252. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.d.ts.map +1 -0
  253. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.js +27 -0
  254. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.js.map +1 -0
  255. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.d.ts +11 -0
  256. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.d.ts.map +1 -0
  257. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.js +21 -0
  258. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.js.map +1 -0
  259. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.d.ts +12 -0
  260. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.d.ts.map +1 -0
  261. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.js +22 -0
  262. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.js.map +1 -0
  263. package/build/parser/stream/reworked/readable-stream-parser.d.ts +2 -3
  264. package/build/parser/stream/reworked/readable-stream-parser.d.ts.map +1 -1
  265. package/build/parser/stream/reworked/readable-stream-parser.js +82 -44
  266. package/build/parser/stream/reworked/readable-stream-parser.js.map +1 -1
  267. package/build/parser/unreal-engine/ETextHistoryType.d.ts +17 -0
  268. package/build/parser/unreal-engine/ETextHistoryType.d.ts.map +1 -0
  269. package/build/parser/unreal-engine/ETextHistoryType.js +21 -0
  270. package/build/parser/unreal-engine/ETextHistoryType.js.map +1 -0
  271. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.d.ts +24 -0
  272. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.d.ts.map +1 -0
  273. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.js +29 -0
  274. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.js.map +1 -0
  275. package/package.json +3 -3
  276. package/build/parser/context/context.d.ts.map +0 -1
  277. package/build/parser/context/context.js.map +0 -1
  278. package/build/parser/file.types.d.ts +0 -14
  279. package/build/parser/file.types.d.ts.map +0 -1
  280. package/build/parser/file.types.js +0 -8
  281. package/build/parser/file.types.js.map +0 -1
  282. package/build/parser/satisfactory/save/level.class.d.ts +0 -29
  283. package/build/parser/satisfactory/save/level.class.d.ts.map +0 -1
  284. package/build/parser/satisfactory/save/level.class.js +0 -204
  285. package/build/parser/satisfactory/save/level.class.js.map +0 -1
  286. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts +0 -22
  287. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts.map +0 -1
  288. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.js +0 -127
  289. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.js.map +0 -1
  290. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.d.ts +0 -14
  291. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.d.ts.map +0 -1
  292. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.js +0 -23
  293. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.js.map +0 -1
  294. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.d.ts +0 -14
  295. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.d.ts.map +0 -1
  296. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.js +0 -23
  297. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.js.map +0 -1
  298. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.d.ts +0 -14
  299. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.d.ts.map +0 -1
  300. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.js +0 -23
  301. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.js.map +0 -1
  302. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.d.ts +0 -14
  303. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.d.ts.map +0 -1
  304. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.js +0 -23
  305. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.js.map +0 -1
  306. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.d.ts +0 -14
  307. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.d.ts.map +0 -1
  308. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.js +0 -23
  309. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.js.map +0 -1
  310. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.d.ts +0 -14
  311. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.d.ts.map +0 -1
  312. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.js +0 -23
  313. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.js.map +0 -1
  314. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.d.ts +0 -14
  315. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.d.ts.map +0 -1
  316. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.js +0 -23
  317. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.js.map +0 -1
  318. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.d.ts +0 -15
  319. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.d.ts.map +0 -1
  320. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.js +0 -23
  321. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.js.map +0 -1
  322. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.d.ts +0 -15
  323. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.d.ts.map +0 -1
  324. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.js +0 -23
  325. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.js.map +0 -1
  326. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.d.ts +0 -14
  327. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.d.ts.map +0 -1
  328. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.js +0 -23
  329. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.js.map +0 -1
  330. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.d.ts +0 -26
  331. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.d.ts.map +0 -1
  332. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.js +0 -75
  333. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.js.map +0 -1
  334. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.d.ts +0 -15
  335. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.d.ts.map +0 -1
  336. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.js +0 -23
  337. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.js.map +0 -1
  338. package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts +0 -16
  339. package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts.map +0 -1
  340. package/build/parser/satisfactory/types/property/generic/Int32Property.js +0 -33
  341. package/build/parser/satisfactory/types/property/generic/Int32Property.js.map +0 -1
  342. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts +0 -25
  343. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts.map +0 -1
  344. package/build/parser/satisfactory/types/property/generic/MapProperty.js.map +0 -1
  345. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.d.ts +0 -14
  346. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.d.ts.map +0 -1
  347. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.js +0 -23
  348. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.js.map +0 -1
  349. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.d.ts +0 -15
  350. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.d.ts.map +0 -1
  351. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.js +0 -23
  352. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.js.map +0 -1
  353. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts +0 -15
  354. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts.map +0 -1
  355. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.js +0 -75
  356. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.js.map +0 -1
  357. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.d.ts +0 -14
  358. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.d.ts.map +0 -1
  359. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.js +0 -23
  360. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.js.map +0 -1
  361. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.d.ts +0 -14
  362. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.d.ts.map +0 -1
  363. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.js +0 -42
  364. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.js.map +0 -1
  365. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.d.ts +0 -14
  366. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.d.ts.map +0 -1
  367. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.js +0 -23
  368. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.js.map +0 -1
  369. package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts +0 -60
  370. package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts.map +0 -1
  371. package/build/parser/satisfactory/types/property/generic/StructProperty.js.map +0 -1
  372. package/build/parser/satisfactory/types/structs/GUID.d.ts +0 -8
  373. package/build/parser/satisfactory/types/structs/GUID.d.ts.map +0 -1
  374. package/build/parser/satisfactory/types/structs/GUID.js +0 -22
  375. package/build/parser/satisfactory/types/structs/GUID.js.map +0 -1
  376. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts +0 -6
  377. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts.map +0 -1
  378. package/build/parser/stream/reworked/save-stream-json-stringifier.js +0 -35
  379. package/build/parser/stream/reworked/save-stream-json-stringifier.js.map +0 -1
  380. package/build/parser/stream/reworked/save-stream-writer.class.d.ts +0 -28
  381. package/build/parser/stream/reworked/save-stream-writer.class.d.ts.map +0 -1
  382. package/build/parser/stream/reworked/save-stream-writer.class.js +0 -84
  383. package/build/parser/stream/reworked/save-stream-writer.class.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"StructProperty.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/StructProperty.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { SaveCustomVersion } from '../../../save/save-custom-version';\nimport { FClientIdentityInfo } from '../../structs/binary/FClientIdentityInfo';\nimport { FColor } from '../../structs/binary/FColor';\nimport { FLinearColor } from '../../structs/binary/FLinearColor';\nimport { GUID } from '../../structs/binary/GUID';\nimport { col4 } from '../../structs/col4';\nimport { DynamicStructPropertyValue } from '../../structs/DynamicStructPropertyValue';\nimport { FGDynamicStruct } from '../../structs/FGDynamicStruct';\nimport { GUIDInfo } from '../../structs/GUIDInfo';\nimport { FICFrameRange } from '../../structs/mods/FicsItCam/FICFrameRange';\nimport { FINGPUT1BufferPixel } from '../../structs/mods/FicsItNetworks/FINGPUT1BufferPixel';\nimport { FINLuaRuntimePersistenceState } from '../../structs/mods/FicsItNetworks/FINLuaRuntimePersistenceState';\nimport { FINNetworkTrace } from '../../structs/mods/FicsItNetworks/FINNetworkTrace';\nimport { FLBBalancerIndexing } from '../../structs/mods/ModularLoadBalancers/FLBBalancerIndexing';\nimport { ObjectReference } from '../../structs/ObjectReference';\nimport { vec2 } from '../../structs/vec2';\nimport { vec3 } from '../../structs/vec3';\nimport { vec4 } from '../../structs/vec4';\nimport { AbstractBaseProperty } from './AbstractBaseProperty';\n\n\nexport type BasicMultipleStructPropertyValue = {\n values: any;\n};\n\nexport type BasicStructPropertyValue = {\n value: any;\n};\n\nexport type BoxStructPropertyValue = {\n min: vec3;\n max: vec3;\n isValid: boolean;\n};\n\nexport type RailroadTrackPositionStructPropertyValue = {\n root: string;\n instanceName: string;\n offset: number;\n forward: number;\n};\n\nexport type InventoryItemStructPropertyValue = {\n itemReference: ObjectReference;\n itemState?: FGDynamicStruct;\n legacyItemStateActor?: ObjectReference;\n};\n\nexport type FICFrameRangeStructPropertyValue = {\n begin: string;\n end: string;\n};\n\nexport type GENERIC_STRUCT_PROPERTY_VALUE = BasicMultipleStructPropertyValue | BasicStructPropertyValue | BoxStructPropertyValue | RailroadTrackPositionStructPropertyValue |\n InventoryItemStructPropertyValue | FICFrameRangeStructPropertyValue | FClientIdentityInfo | DynamicStructPropertyValue | col4 | vec2 | vec3 | vec4 | string |\n FINNetworkTrace | FINGPUT1BufferPixel | FLBBalancerIndexing | FINLuaRuntimePersistenceState;\n\nexport const isStructProperty = (property: any): property is StructProperty => !Array.isArray(property) && property.type === 'StructProperty';\n\nexport type StructProperty = AbstractBaseProperty & {\n type: 'StructProperty';\n subtype: string;\n value: GENERIC_STRUCT_PROPERTY_VALUE;\n unk1?: number;\n unk2?: number;\n unk3?: number;\n unk4?: number;\n};\n\nexport namespace StructProperty {\n\n export const Parse = (reader: ContextReader, ueType: string, index: number, size: number, subtype: string): StructProperty => {\n\n const guidInfo = GUIDInfo.read(reader);\n\n const struct: StructProperty = {\n ...AbstractBaseProperty.Create({ index, ueType, guidInfo, type: '' }),\n type: 'StructProperty',\n value: { values: [] },\n subtype\n };\n\n const unk1 = reader.readInt32();\n if (unk1 !== 0) {\n struct.unk1 = unk1;\n }\n\n const unk2 = reader.readInt32();\n if (unk2 !== 0) {\n struct.unk2 = unk2;\n }\n\n const unk3 = reader.readInt32();\n if (unk3 !== 0) {\n struct.unk3 = unk3;\n }\n\n const unk4 = reader.readInt32();\n if (unk4 !== 0) {\n struct.unk4 = unk4;\n }\n\n const before = reader.getBufferPosition();\n struct.value = ParseValue(reader, struct.subtype, size);\n const readBytes = reader.getBufferPosition() - before;\n if (readBytes !== size) {\n if (size - readBytes === 4) {\n // U8, fine\n reader.skipBytes(size - readBytes);\n } else {\n throw new Error(`possibly corrupt. Read ${readBytes} for StructProperty Content of ${struct.subtype}, but ${size} were indicated.`);\n }\n }\n\n return struct;\n }\n\n export const ParseValue = (reader: ContextReader, subtype: string, size: number): GENERIC_STRUCT_PROPERTY_VALUE => {\n\n let value: GENERIC_STRUCT_PROPERTY_VALUE;\n const start = reader.getBufferPosition();\n\n switch (subtype) {\n case 'Color':\n value = FColor.read(reader);\n break;\n\n case 'IntPoint':\n value = reader.readInt64().toString();\n break;\n\n case 'LinearColor':\n value = FLinearColor.read(reader);\n break;\n\n case 'Vector2D':\n value = (reader.context.saveVersion >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? vec2.Parse(reader) : vec2.ParseF(reader);\n break;\n\n case 'Vector':\n case 'Rotator':\n value = (reader.context.saveVersion >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? vec3.Parse(reader) : vec3.ParseF(reader);\n break;\n\n case 'Quat':\n case 'Vector4':\n case 'Vector4D':\n value = (reader.context.saveVersion >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? vec4.Parse(reader) : vec4.ParseF(reader);\n break;\n\n case 'Box':\n value = ((reader.context.saveVersion >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? {\n min: vec3.Parse(reader),\n max: vec3.Parse(reader),\n isValid: reader.readByte() >= 1\n } : {\n min: vec3.ParseF(reader),\n max: vec3.ParseF(reader),\n isValid: reader.readByte() >= 1\n }) satisfies BoxStructPropertyValue;\n break;\n\n case 'RailroadTrackPosition':\n value = {\n root: reader.readString(),\n instanceName: reader.readString(),\n offset: reader.readFloat32(),\n forward: reader.readFloat32()\n };\n break;\n\n case 'TimerHandle':\n value = reader.readString();\n break;\n\n case 'Guid':\n value = GUID.read(reader);\n break;\n\n case 'ClientIdentityInfo':\n value = FClientIdentityInfo.read(reader);\n break;\n\n case 'InventoryItem':\n const before = reader.getBufferPosition();\n\n value = {\n itemReference: ObjectReference.read(reader)\n } satisfies InventoryItemStructPropertyValue;\n\n // inventory items have potentially an item state. but not before explicit version\n if (reader.context.saveVersion >= SaveCustomVersion.RefactoredInventoryItemState) {\n value.itemState = FGDynamicStruct.Parse(reader);\n } else {\n value.legacyItemStateActor = ObjectReference.read(reader);\n }\n\n break;\n\n case 'FluidBox':\n value = {\n value: reader.readFloat32()\n };\n break;\n\n case 'SlateBrush':\n value = reader.readString();\n break;\n\n case 'DateTime':\n value = reader.readInt64().toString();\n break;\n\n // FixsitCamera mod\n case 'FICFrameRange':\n value = FICFrameRange.read(reader);\n break;\n\n // MLB mod\n case 'LBBalancerIndexing':\n value = FLBBalancerIndexing.read(reader);\n break;\n\n // FicsIt-Networks mod\n case 'FINNetworkTrace':\n case 'FIRTrace':\n value = FINNetworkTrace.read(reader);\n break;\n\n case 'FINGPUT1BufferPixel':\n value = FINGPUT1BufferPixel.read(reader);\n break;\n\n case 'FINLuaProcessorStateStorage':\n case 'FINLuaRuntimePersistenceState':\n value = FINLuaRuntimePersistenceState.read(reader, size);\n break;\n\n default:\n //TODO: use buildversion\n value = DynamicStructPropertyValue.read(reader, subtype);\n break;\n }\n\n return value;\n }\n\n export const CalcOverhead = (property: StructProperty, subtype: string): number => {\n return subtype.length + 5 + 4 + 4 + 4 + 4 + 1;\n }\n\n export const Serialize = (writer: ContextWriter, property: StructProperty): void => {\n writer.writeString(property.subtype);\n GUIDInfo.write(writer, property.guidInfo);\n\n writer.writeInt32(property.unk1 ?? 0);\n writer.writeInt32(property.unk2 ?? 0);\n writer.writeInt32(property.unk3 ?? 0);\n writer.writeInt32(property.unk4 ?? 0);\n\n StructProperty.SerializeValue(writer, property.subtype, property.value);\n }\n\n export const SerializeValue = (writer: ContextWriter, subtype: string, value: GENERIC_STRUCT_PROPERTY_VALUE): void => {\n\n switch (subtype) {\n case 'Color':\n FColor.write(writer, value as FColor);\n break;\n\n case 'IntPoint':\n writer.writeInt64(BigInt(value as string))\n break;\n\n case 'LinearColor':\n FLinearColor.write(writer, value as FLinearColor);\n break;\n\n case 'Vector2D':\n value = value as vec2;\n if (writer.context.saveVersion >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec2.Serialize(writer, value);\n } else {\n vec2.SerializeF(writer, value);\n }\n break;\n\n case 'Vector':\n case 'Rotator':\n value = value as vec3;\n if (writer.context.saveVersion >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec3.Serialize(writer, value as vec3);\n } else {\n vec3.SerializeF(writer, value as vec3);\n }\n break;\n\n case 'Quat':\n case 'Vector4':\n case 'Vector4D':\n value = value as vec4;\n if (writer.context.saveVersion >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec4.Serialize(writer, value as vec4);\n } else {\n vec4.SerializeF(writer, value as vec4);\n }\n break;\n\n case 'Box':\n value = value as BoxStructPropertyValue;\n if (writer.context.saveVersion >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec3.Serialize(writer, value.min);\n vec3.Serialize(writer, value.max);\n } else {\n vec3.SerializeF(writer, value.min);\n vec3.SerializeF(writer, value.max);\n }\n writer.writeByte(value.isValid ? 1 : 0);\n break;\n\n case 'RailroadTrackPosition':\n value = value as RailroadTrackPositionStructPropertyValue;\n writer.writeString(value.root);\n writer.writeString(value.instanceName);\n writer.writeFloat32(value.offset);\n writer.writeFloat32(value.forward);\n break;\n\n case 'TimerHandle':\n value = value as string;\n writer.writeString(value);\n break;\n\n case 'Guid':\n GUID.write(writer, value as GUID);\n break;\n\n case 'ClientIdentityInfo':\n FClientIdentityInfo.write(writer, value as FClientIdentityInfo);\n break;\n\n case 'InventoryItem':\n value = value as InventoryItemStructPropertyValue;\n ObjectReference.write(writer, value.itemReference);\n\n if (writer.context.saveVersion >= SaveCustomVersion.RefactoredInventoryItemState) {\n FGDynamicStruct.Serialize(writer, value.itemState!);\n } else {\n ObjectReference.write(writer, value.legacyItemStateActor!);\n }\n break;\n\n case 'FluidBox':\n value = value as BasicStructPropertyValue;\n writer.writeFloat32(value.value);\n break;\n\n case 'SlateBrush':\n value = value as string;\n writer.writeString(value);\n break;\n\n case 'DateTime':\n value = value as string;\n writer.writeInt64(BigInt(value));\n break;\n\n // MODS\n case 'FICFrameRange':\n value = value as FICFrameRange;\n FICFrameRange.write(writer, value);\n break;\n\n // MLB mod\n case 'LBBalancerIndexing':\n FLBBalancerIndexing.write(writer, value as FLBBalancerIndexing);\n break;\n\n // FicsItNetworks mod\n case 'FINNetworkTrace':\n case 'FIRTrace':\n value = value as FINNetworkTrace;\n FINNetworkTrace.write(writer, value);\n break;\n\n case 'FINGPUT1BufferPixel':\n value = value as FINGPUT1BufferPixel;\n FINGPUT1BufferPixel.write(writer, value);\n break;\n\n case 'FINLuaProcessorStateStorage':\n case 'FINLuaRuntimePersistenceState':\n FINLuaRuntimePersistenceState.write(writer, value as FINLuaRuntimePersistenceState);\n break;\n\n default:\n //TODO: use buildversion\n value = value as DynamicStructPropertyValue;\n DynamicStructPropertyValue.write(writer, value);\n break;\n }\n }\n}\n\n\n"]}
@@ -1,8 +0,0 @@
1
- import { ContextReader } from '../../../context/context-reader';
2
- import { ContextWriter } from '../../../context/context-writer';
3
- export type GUID = [number, number, number, number];
4
- export declare namespace GUID {
5
- const read: (reader: ContextReader) => GUID;
6
- const write: (writer: ContextWriter, guid: GUID) => void;
7
- }
8
- //# sourceMappingURL=GUID.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GUID.d.ts","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/structs/GUID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAKhE,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD,yBAAiB,IAAI,CAAC;IACX,MAAM,IAAI,WAAY,aAAa,KAAG,IAO5C,CAAA;IAEM,MAAM,KAAK,WAAY,aAAa,QAAQ,IAAI,KAAG,IAKzD,CAAA;CACJ"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GUID = void 0;
4
- var GUID;
5
- (function (GUID) {
6
- GUID.read = (reader) => {
7
- return [
8
- reader.readUint32(),
9
- reader.readUint32(),
10
- reader.readUint32(),
11
- reader.readUint32(),
12
- ];
13
- };
14
- GUID.write = (writer, guid) => {
15
- writer.writeUint32(guid[0]);
16
- writer.writeUint32(guid[1]);
17
- writer.writeUint32(guid[2]);
18
- writer.writeUint32(guid[3]);
19
- };
20
- })(GUID || (exports.GUID = GUID = {}));
21
- ;
22
- //# sourceMappingURL=GUID.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GUID.js","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/structs/GUID.ts"],"names":[],"mappings":";;;AAQA,IAAiB,IAAI,CAgBpB;AAhBD,WAAiB,IAAI;IACJ,SAAI,GAAG,CAAC,MAAqB,EAAQ,EAAE;QAChD,OAAO;YACH,MAAM,CAAC,UAAU,EAAE;YACnB,MAAM,CAAC,UAAU,EAAE;YACnB,MAAM,CAAC,UAAU,EAAE;YACnB,MAAM,CAAC,UAAU,EAAE;SACtB,CAAC;IACN,CAAC,CAAA;IAEY,UAAK,GAAG,CAAC,MAAqB,EAAE,IAAU,EAAQ,EAAE;QAC7D,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAA;AACL,CAAC,EAhBgB,IAAI,oBAAJ,IAAI,QAgBpB;AAAA,CAAC","sourcesContent":["import { ContextReader } from '../../../context/context-reader';\nimport { ContextWriter } from '../../../context/context-writer';\n\n/**\n * UE Guid structure, 4 uints.\n */\nexport type GUID = [number, number, number, number];\n\nexport namespace GUID {\n export const read = (reader: ContextReader): GUID => {\n return [\n reader.readUint32(),\n reader.readUint32(),\n reader.readUint32(),\n reader.readUint32(),\n ];\n }\n\n export const write = (writer: ContextWriter, guid: GUID): void => {\n writer.writeUint32(guid[0]);\n writer.writeUint32(guid[1]);\n writer.writeUint32(guid[2]);\n writer.writeUint32(guid[3]);\n }\n};"]}
@@ -1,6 +0,0 @@
1
- import { WritableStream } from "stream/web";
2
- import { SatisfactorySave } from '../../satisfactory/save/satisfactory-save';
3
- export declare class SaveStreamJsonStringifier {
4
- static StreamStringifySave(save: SatisfactorySave, output: WritableStream<string>): Promise<void>;
5
- }
6
- //# sourceMappingURL=save-stream-json-stringifier.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"save-stream-json-stringifier.d.ts","sourceRoot":"","sources":["../../../../src/parser/stream/reworked/save-stream-json-stringifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAO7E,qBAAa,yBAAyB;WACjB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAqC9G"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SaveStreamJsonStringifier = void 0;
4
- const save_stream_writer_class_1 = require("./save-stream-writer.class");
5
- class SaveStreamJsonStringifier {
6
- static async StreamStringifySave(save, output) {
7
- const writer = new save_stream_writer_class_1.SaveStreamWriter(output.getWriter());
8
- await writer.beginSave();
9
- await writer.writeHeader(save.header);
10
- if (save.compressionInfo) {
11
- await writer.writeCompressionInfo(save.compressionInfo);
12
- }
13
- await writer.writeSaveBodyValidation(save.saveBodyValidation);
14
- await writer.openLevels();
15
- const objectBatchSize = 10000;
16
- for (const level of Object.values(save.levels)) {
17
- await writer.openLevel(level.name);
18
- let i = 0;
19
- for (i; i < level.objects.length; i += objectBatchSize) {
20
- await writer.writeObjects(...level.objects.slice(i, Math.min(i + objectBatchSize, level.objects.length)));
21
- }
22
- await writer.switchInLevelToCollectables();
23
- i = 0;
24
- for (i; i < level.collectables.length; i += objectBatchSize) {
25
- await writer.writeCollectables(...level.collectables.slice(i, Math.min(i + objectBatchSize, level.collectables.length)));
26
- }
27
- await writer.endLevel();
28
- }
29
- await writer.endLevels();
30
- await writer.endSave();
31
- await writer.close();
32
- }
33
- }
34
- exports.SaveStreamJsonStringifier = SaveStreamJsonStringifier;
35
- //# sourceMappingURL=save-stream-json-stringifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"save-stream-json-stringifier.js","sourceRoot":"","sources":["../../../../src/parser/stream/reworked/save-stream-json-stringifier.ts"],"names":[],"mappings":";;;AAEA,yEAA8D;AAM9D,MAAa,yBAAyB;IAC9B,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAsB,EAAE,MAA8B;QAC7F,MAAM,MAAM,GAAG,IAAI,2CAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAExD,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC;QAGD,MAAM,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAG9D,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC;gBACxD,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3G,CAAC;YAED,MAAM,MAAM,CAAC,2BAA2B,EAAE,CAAC;YAE3C,CAAC,GAAG,CAAC,CAAC;YACN,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC7D,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1H,CAAC;YAED,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CAED;AAtCD,8DAsCC","sourcesContent":["import { WritableStream } from \"stream/web\";\nimport { SatisfactorySave } from '../../satisfactory/save/satisfactory-save';\nimport { SaveStreamWriter } from \"./save-stream-writer.class\";\n\n/**\n * @deprecated use ReadableStreamParser instead.\n * simply streams a whole satisfactorySave without backpressure to Json.\n */\nexport class SaveStreamJsonStringifier {\n\tpublic static async StreamStringifySave(save: SatisfactorySave, output: WritableStream<string>): Promise<void> {\n\t\tconst writer = new SaveStreamWriter(output.getWriter());\n\n\t\tawait writer.beginSave();\n\t\tawait writer.writeHeader(save.header);\n\t\tif (save.compressionInfo) {\n\t\t\tawait writer.writeCompressionInfo(save.compressionInfo);\n\t\t}\n\n\t\t// save body validation\n\t\tawait writer.writeSaveBodyValidation(save.saveBodyValidation);\n\n\t\t// stream level objects in batches.\n\t\tawait writer.openLevels();\n\t\tconst objectBatchSize = 10000;\n\t\tfor (const level of Object.values(save.levels)) {\n\t\t\tawait writer.openLevel(level.name);\n\n\t\t\tlet i = 0;\n\t\t\tfor (i; i < level.objects.length; i += objectBatchSize) {\n\t\t\t\tawait writer.writeObjects(...level.objects.slice(i, Math.min(i + objectBatchSize, level.objects.length)));\n\t\t\t}\n\n\t\t\tawait writer.switchInLevelToCollectables();\n\n\t\t\ti = 0;\n\t\t\tfor (i; i < level.collectables.length; i += objectBatchSize) {\n\t\t\t\tawait writer.writeCollectables(...level.collectables.slice(i, Math.min(i + objectBatchSize, level.collectables.length)));\n\t\t\t}\n\n\t\t\tawait writer.endLevel();\n\t\t}\n\t\tawait writer.endLevels();\n\t\tawait writer.endSave();\n\t\tawait writer.close();\n\t}\n\n}"]}
@@ -1,28 +0,0 @@
1
- import { WritableStreamDefaultWriter } from "stream/web";
2
- import { SatisfactorySaveHeader } from '../../satisfactory/save/satisfactory-save-header';
3
- import { ChunkCompressionInfo } from "../../satisfactory/save/save-body-chunks";
4
- import { SaveObject } from "../../satisfactory/types/objects/SaveObject";
5
- import { ObjectReference } from '../../satisfactory/types/structs/ObjectReference';
6
- import { SaveBodyValidation } from "../../satisfactory/types/structs/SaveBodyValidation";
7
- export declare class SaveStreamWriter {
8
- private writer;
9
- private mode;
10
- private tracker;
11
- private formatTracker;
12
- constructor(writer: WritableStreamDefaultWriter<string>);
13
- private createExecutionFunction;
14
- beginSave: () => Promise<void>;
15
- writeHeader: (header: SatisfactorySaveHeader) => Promise<void>;
16
- writeCompressionInfo: (compressionInfo: ChunkCompressionInfo) => Promise<void>;
17
- writeSaveBodyValidation: (saveBodyValidation: SaveBodyValidation) => Promise<void>;
18
- openLevels: () => Promise<void>;
19
- openLevel: (levelName: string) => Promise<void>;
20
- writeObjects: (...objects: SaveObject[]) => Promise<void>;
21
- switchInLevelToCollectables: (...objects: SaveObject[]) => Promise<void>;
22
- writeCollectables: (...collectables: ObjectReference[]) => Promise<void>;
23
- endLevel: () => Promise<void>;
24
- endLevels: () => Promise<void>;
25
- endSave: () => Promise<void>;
26
- close(): Promise<void>;
27
- }
28
- //# sourceMappingURL=save-stream-writer.class.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"save-stream-writer.class.d.ts","sourceRoot":"","sources":["../../../../src/parser/stream/reworked/save-stream-writer.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAS,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AAwBhG,qBAAa,gBAAgB;IAahB,OAAO,CAAC,MAAM;IAX1B,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,OAAO,CAAmB;IAGlC,OAAO,CAAC,aAAa,CAKnB;gBAEkB,MAAM,EAAE,2BAA2B,CAAC,MAAM,CAAC;IAQ/D,OAAO,CAAC,uBAAuB,CAI9B;IAEM,SAAS,QAAO,OAAO,CAAC,IAAI,CAAC,CAMlC;IAEK,WAAW,WAAY,sBAAsB,KAAG,OAAO,CAAC,IAAI,CAAC,CAMlE;IAEK,oBAAoB,oBAAqB,oBAAoB,KAAG,OAAO,CAAC,IAAI,CAAC,CAMlF;IAEK,uBAAuB,uBAAwB,kBAAkB,KAAG,OAAO,CAAC,IAAI,CAAC,CAMtF;IAGK,UAAU,QAAO,OAAO,CAAC,IAAI,CAAC,CAMnC;IAEK,SAAS,cAAe,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAUnD;IAEK,YAAY,eAAgB,UAAU,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAW7D;IAEK,2BAA2B,eAAgB,UAAU,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAM5E;IAEK,iBAAiB,oBAAqB,eAAe,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAW5E;IAEK,QAAQ,QAAO,OAAO,CAAC,IAAI,CAAC,CAMjC;IAEK,SAAS,QAAO,OAAO,CAAC,IAAI,CAAC,CAMlC;IAEK,OAAO,QAAO,OAAO,CAAC,IAAI,CAAC,CAMhC;IAEW,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
@@ -1,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SaveStreamWriter = void 0;
4
- class ModeStateTracker {
5
- constructor(mode) {
6
- this.mode = mode;
7
- }
8
- checkIsComingFrom(...allowedPredecessors) {
9
- if (!allowedPredecessors.includes(this.mode)) {
10
- throw new Error(`Wrong order of commands. mode is ${this.mode}. but only ${allowedPredecessors.join(', ')} is/are allowed.`);
11
- }
12
- }
13
- advance(newMode) {
14
- this.mode = newMode;
15
- }
16
- }
17
- class SaveStreamWriter {
18
- constructor(writer) {
19
- this.writer = writer;
20
- this.createExecutionFunction = async (allowedInputModes, fn, targetMode) => {
21
- this.tracker.checkIsComingFrom(...allowedInputModes);
22
- await fn();
23
- this.tracker.advance(targetMode);
24
- };
25
- this.beginSave = () => this.createExecutionFunction(['BEFORE_START'], async () => {
26
- await this.writer.write('{');
27
- }, 'OPENED_SAVE');
28
- this.writeHeader = (header) => this.createExecutionFunction(['OPENED_SAVE'], async () => {
29
- await this.writer.write(`"header": ${JSON.stringify(header)}`);
30
- }, 'FINISHED_HEADER');
31
- this.writeCompressionInfo = (compressionInfo) => this.createExecutionFunction(['FINISHED_HEADER'], async () => {
32
- await this.writer.write(`, "compressionInfo": ${JSON.stringify(compressionInfo)}`);
33
- }, 'WROTE_COMPRESSION_INFO');
34
- this.writeSaveBodyValidation = (saveBodyValidation) => this.createExecutionFunction(['WROTE_COMPRESSION_INFO'], async () => {
35
- await this.writer.write(`, "saveBodyValidation": ${JSON.stringify(saveBodyValidation)}`);
36
- }, 'WROTE_SAVE_BODY_VALIDATION');
37
- this.openLevels = () => this.createExecutionFunction(['WROTE_SAVE_BODY_VALIDATION'], async () => {
38
- await this.writer.write(`, "levels": [`);
39
- }, 'OPENED_LEVELS');
40
- this.openLevel = (levelName) => this.createExecutionFunction(['OPENED_LEVELS', 'FINISHED_LEVEL'], async () => {
41
- this.formatTracker.levels.push({
42
- objectCount: 0, collectablesCount: 0
43
- });
44
- const prefix = this.formatTracker.levels.length > 1 ? ', ' : '';
45
- await this.writer.write(`${prefix}{"name": "${levelName}", "objects": [`);
46
- }, 'OPENED_LEVEL');
47
- this.writeObjects = (...objects) => this.createExecutionFunction(['OPENED_LEVEL', 'WROTE_OBJECT'], async () => {
48
- const stringified = objects.map(saveObj => JSON.stringify(saveObj));
49
- for (const obj of stringified) {
50
- await this.writer.write(`${this.formatTracker.levels.at(-1).objectCount >= 1 ? ', ' : ''}${obj}`);
51
- this.formatTracker.levels.at(-1).objectCount++;
52
- }
53
- }, 'WROTE_OBJECT');
54
- this.switchInLevelToCollectables = (...objects) => this.createExecutionFunction(['OPENED_LEVEL', 'WROTE_OBJECT'], async () => {
55
- await this.writer.write(`], "collectables": [`);
56
- }, 'SWITCH_TO_COLLECTABLES');
57
- this.writeCollectables = (...collectables) => this.createExecutionFunction(['SWITCH_TO_COLLECTABLES', 'WROTE_COLLECTABLE'], async () => {
58
- const stringified = collectables.map(coll => JSON.stringify(coll));
59
- for (const obj of stringified) {
60
- await this.writer.write(`${this.formatTracker.levels.at(-1).collectablesCount >= 1 ? ', ' : ''}${obj}`);
61
- this.formatTracker.levels.at(-1).collectablesCount++;
62
- }
63
- }, 'WROTE_COLLECTABLE');
64
- this.endLevel = () => this.createExecutionFunction(['SWITCH_TO_COLLECTABLES', 'WROTE_COLLECTABLE'], async () => {
65
- await this.writer.write(`]}`);
66
- }, 'FINISHED_LEVEL');
67
- this.endLevels = () => this.createExecutionFunction(['OPENED_LEVELS', 'FINISHED_LEVEL'], async () => {
68
- await this.writer.write(`]`);
69
- }, 'FINISHED_LEVELS');
70
- this.endSave = () => this.createExecutionFunction(['FINISHED_LEVELS'], async () => {
71
- await this.writer.write('}');
72
- }, 'FINISHED_SAVE');
73
- this.mode = 'BEFORE_START';
74
- this.tracker = new ModeStateTracker(this.mode);
75
- this.formatTracker = {
76
- levels: []
77
- };
78
- }
79
- async close() {
80
- return this.writer.close();
81
- }
82
- }
83
- exports.SaveStreamWriter = SaveStreamWriter;
84
- //# sourceMappingURL=save-stream-writer.class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"save-stream-writer.class.js","sourceRoot":"","sources":["../../../../src/parser/stream/reworked/save-stream-writer.class.ts"],"names":[],"mappings":";;;AAUA,MAAM,gBAAgB;IACrB,YAAmB,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAE7B,CAAC;IAEM,iBAAiB,CAAC,GAAG,mBAA2B;QACtD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,IAAI,cAAc,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9H,CAAC;IACF,CAAC;IAEM,OAAO,CAAC,OAAa;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACrB,CAAC;CACD;AAKD,MAAa,gBAAgB;IAa5B,YAAoB,MAA2C;QAA3C,WAAM,GAAN,MAAM,CAAqC;QAQvD,4BAAuB,GAAG,KAAK,EAAE,iBAAyB,EAAE,EAA8B,EAAE,UAAgB,EAAiB,EAAE;YACtI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC,CAAC;YACrD,MAAM,EAAE,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAA;QAEM,cAAS,GAAG,GAAkB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CACnE,CAAC,cAAc,CAAC,EAChB,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,EACD,aAAa,CACb,CAAC;QAEK,gBAAW,GAAG,CAAC,MAA8B,EAAiB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CACnG,CAAC,aAAa,CAAC,EACf,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC,EACD,iBAAiB,CACjB,CAAC;QAEK,yBAAoB,GAAG,CAAC,eAAqC,EAAiB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CACnH,CAAC,iBAAiB,CAAC,EACnB,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC,EACD,wBAAwB,CACxB,CAAC;QAEK,4BAAuB,GAAG,CAAC,kBAAsC,EAAiB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CACvH,CAAC,wBAAwB,CAAC,EAC1B,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC,EACD,4BAA4B,CAC5B,CAAC;QAGK,eAAU,GAAG,GAAkB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CACpE,CAAC,4BAA4B,CAAC,EAC9B,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1C,CAAC,EACD,eAAe,CACf,CAAC;QAEK,cAAS,GAAG,CAAC,SAAiB,EAAiB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CACpF,CAAC,eAAe,EAAE,gBAAgB,CAAC,EACnC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC9B,WAAW,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC;aACpC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,aAAa,SAAS,iBAAiB,CAAC,CAAC;QAC3E,CAAC,EACD,cAAc,CACd,CAAC;QAEK,iBAAY,GAAG,CAAC,GAAG,OAAqB,EAAiB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAC9F,CAAC,cAAc,EAAE,cAAc,CAAC,EAChC,KAAK,IAAI,EAAE;YACV,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;gBACnG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;YACjD,CAAC;QACF,CAAC,EACD,cAAc,CACd,CAAC;QAEK,gCAA2B,GAAG,CAAC,GAAG,OAAqB,EAAiB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAC7G,CAAC,cAAc,EAAE,cAAc,CAAC,EAChC,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACjD,CAAC,EACD,wBAAwB,CACxB,CAAC;QAEK,sBAAiB,GAAG,CAAC,GAAG,YAA+B,EAAiB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAC7G,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,EAC/C,KAAK,IAAI,EAAE;YACV,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAEnE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;gBACzG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,iBAAiB,EAAE,CAAC;YACvD,CAAC;QACF,CAAC,EACD,mBAAmB,CACnB,CAAC;QAEK,aAAQ,GAAG,GAAkB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAClE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,EAC/C,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,EACD,gBAAgB,CAChB,CAAC;QAEK,cAAS,GAAG,GAAkB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CACnE,CAAC,eAAe,EAAE,gBAAgB,CAAC,EACnC,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,EACD,iBAAiB,CACjB,CAAC;QAEK,YAAO,GAAG,GAAkB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CACjE,CAAC,iBAAiB,CAAC,EACnB,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,EACD,eAAe,CACf,CAAC;QA1HD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG;YACpB,MAAM,EAAE,EAAE;SACV,CAAC;IACH,CAAC;IAuHM,KAAK,CAAC,KAAK;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACD;AA7ID,4CA6IC","sourcesContent":["import { WritableStreamDefaultWriter } from \"stream/web\";\nimport { SatisfactorySaveHeader } from '../../satisfactory/save/satisfactory-save-header';\nimport { ChunkCompressionInfo } from \"../../satisfactory/save/save-body-chunks\";\nimport { SaveObject } from \"../../satisfactory/types/objects/SaveObject\";\nimport { ObjectReference } from '../../satisfactory/types/structs/ObjectReference';\nimport { Grids, SaveBodyValidation } from \"../../satisfactory/types/structs/SaveBodyValidation\";\n\ntype Mode = 'BEFORE_START' | 'OPENED_SAVE' | 'FINISHED_HEADER' | 'OPENED_LEVELS' | 'FINISHED_LEVELS' | 'OPENED_LEVEL' | 'FINISHED_LEVEL' | 'FINISHED_SAVE'\n\t| 'WROTE_COMPRESSION_INFO' | 'WROTE_OBJECT' | 'SWITCH_TO_COLLECTABLES' | 'WROTE_COLLECTABLE' | 'WROTE_SAVE_BODY_VALIDATION';\n\nclass ModeStateTracker {\n\tconstructor(public mode: Mode) {\n\n\t}\n\n\tpublic checkIsComingFrom(...allowedPredecessors: Mode[]) {\n\t\tif (!allowedPredecessors.includes(this.mode)) {\n\t\t\tthrow new Error(`Wrong order of commands. mode is ${this.mode}. but only ${allowedPredecessors.join(', ')} is/are allowed.`);\n\t\t}\n\t}\n\n\tpublic advance(newMode: Mode) {\n\t\tthis.mode = newMode;\n\t}\n}\n\n/**\n * @deprecated use ReadableStreamParser instead.\n */\nexport class SaveStreamWriter {\n\n\tprivate mode: Mode;\n\tprivate tracker: ModeStateTracker;\n\n\t// we need some flat structure to keep track of number of elements.\n\tprivate formatTracker: {\n\t\tlevels: {\n\t\t\tobjectCount: number;\n\t\t\tcollectablesCount: number;\n\t\t}[]\n\t};\n\n\tconstructor(private writer: WritableStreamDefaultWriter<string>) {\n\t\tthis.mode = 'BEFORE_START';\n\t\tthis.tracker = new ModeStateTracker(this.mode);\n\t\tthis.formatTracker = {\n\t\t\tlevels: []\n\t\t};\n\t}\n\n\tprivate createExecutionFunction = async (allowedInputModes: Mode[], fn: () => Promise<void> | void, targetMode: Mode): Promise<void> => {\n\t\tthis.tracker.checkIsComingFrom(...allowedInputModes);\n\t\tawait fn();\n\t\tthis.tracker.advance(targetMode);\n\t}\n\n\tpublic beginSave = (): Promise<void> => this.createExecutionFunction(\n\t\t['BEFORE_START'],\n\t\tasync () => {\n\t\t\tawait this.writer.write('{');\n\t\t},\n\t\t'OPENED_SAVE'\n\t);\n\n\tpublic writeHeader = (header: SatisfactorySaveHeader): Promise<void> => this.createExecutionFunction(\n\t\t['OPENED_SAVE'],\n\t\tasync () => {\n\t\t\tawait this.writer.write(`\"header\": ${JSON.stringify(header)}`);\n\t\t},\n\t\t'FINISHED_HEADER'\n\t);\n\n\tpublic writeCompressionInfo = (compressionInfo: ChunkCompressionInfo): Promise<void> => this.createExecutionFunction(\n\t\t['FINISHED_HEADER'],\n\t\tasync () => {\n\t\t\tawait this.writer.write(`, \"compressionInfo\": ${JSON.stringify(compressionInfo)}`);\n\t\t},\n\t\t'WROTE_COMPRESSION_INFO'\n\t);\n\n\tpublic writeSaveBodyValidation = (saveBodyValidation: SaveBodyValidation): Promise<void> => this.createExecutionFunction(\n\t\t['WROTE_COMPRESSION_INFO'],\n\t\tasync () => {\n\t\t\tawait this.writer.write(`, \"saveBodyValidation\": ${JSON.stringify(saveBodyValidation)}`);\n\t\t},\n\t\t'WROTE_SAVE_BODY_VALIDATION'\n\t);\n\n\n\tpublic openLevels = (): Promise<void> => this.createExecutionFunction(\n\t\t['WROTE_SAVE_BODY_VALIDATION'],\n\t\tasync () => {\n\t\t\tawait this.writer.write(`, \"levels\": [`);\n\t\t},\n\t\t'OPENED_LEVELS'\n\t);\n\n\tpublic openLevel = (levelName: string): Promise<void> => this.createExecutionFunction(\n\t\t['OPENED_LEVELS', 'FINISHED_LEVEL'],\n\t\tasync () => {\n\t\t\tthis.formatTracker.levels.push({\n\t\t\t\tobjectCount: 0, collectablesCount: 0\n\t\t\t});\n\t\t\tconst prefix = this.formatTracker.levels.length > 1 ? ', ' : '';\n\t\t\tawait this.writer.write(`${prefix}{\"name\": \"${levelName}\", \"objects\": [`);\n\t\t},\n\t\t'OPENED_LEVEL'\n\t);\n\n\tpublic writeObjects = (...objects: SaveObject[]): Promise<void> => this.createExecutionFunction(\n\t\t['OPENED_LEVEL', 'WROTE_OBJECT'],\n\t\tasync () => {\n\t\t\tconst stringified = objects.map(saveObj => JSON.stringify(saveObj));\n\n\t\t\tfor (const obj of stringified) {\n\t\t\t\tawait this.writer.write(`${this.formatTracker.levels.at(-1)!.objectCount >= 1 ? ', ' : ''}${obj}`);\n\t\t\t\tthis.formatTracker.levels.at(-1)!.objectCount++;\n\t\t\t}\n\t\t},\n\t\t'WROTE_OBJECT'\n\t);\n\n\tpublic switchInLevelToCollectables = (...objects: SaveObject[]): Promise<void> => this.createExecutionFunction(\n\t\t['OPENED_LEVEL', 'WROTE_OBJECT'],\n\t\tasync () => {\n\t\t\tawait this.writer.write(`], \"collectables\": [`);\n\t\t},\n\t\t'SWITCH_TO_COLLECTABLES'\n\t);\n\n\tpublic writeCollectables = (...collectables: ObjectReference[]): Promise<void> => this.createExecutionFunction(\n\t\t['SWITCH_TO_COLLECTABLES', 'WROTE_COLLECTABLE'],\n\t\tasync () => {\n\t\t\tconst stringified = collectables.map(coll => JSON.stringify(coll));\n\n\t\t\tfor (const obj of stringified) {\n\t\t\t\tawait this.writer.write(`${this.formatTracker.levels.at(-1)!.collectablesCount >= 1 ? ', ' : ''}${obj}`);\n\t\t\t\tthis.formatTracker.levels.at(-1)!.collectablesCount++;\n\t\t\t}\n\t\t},\n\t\t'WROTE_COLLECTABLE'\n\t);\n\n\tpublic endLevel = (): Promise<void> => this.createExecutionFunction(\n\t\t['SWITCH_TO_COLLECTABLES', 'WROTE_COLLECTABLE'],\n\t\tasync () => {\n\t\t\tawait this.writer.write(`]}`);\n\t\t},\n\t\t'FINISHED_LEVEL'\n\t);\n\n\tpublic endLevels = (): Promise<void> => this.createExecutionFunction(\n\t\t['OPENED_LEVELS', 'FINISHED_LEVEL'],\n\t\tasync () => {\n\t\t\tawait this.writer.write(`]`);\n\t\t},\n\t\t'FINISHED_LEVELS'\n\t);\n\n\tpublic endSave = (): Promise<void> => this.createExecutionFunction(\n\t\t['FINISHED_LEVELS'],\n\t\tasync () => {\n\t\t\tawait this.writer.write('}');\n\t\t},\n\t\t'FINISHED_SAVE'\n\t);\n\n\tpublic async close(): Promise<void> {\n\t\treturn this.writer.close();\n\t}\n}"]}