@etothepii/satisfactory-file-parser 3.3.1 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1107) hide show
  1. package/CHANGELOG.md +30 -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/SaveComponent.js +1 -1
  89. package/build/parser/satisfactory/types/objects/SaveComponent.js.map +1 -1
  90. package/build/parser/satisfactory/types/objects/SaveEntity.js +1 -1
  91. package/build/parser/satisfactory/types/objects/SaveEntity.js.map +1 -1
  92. package/build/parser/satisfactory/types/objects/SaveObject.d.ts +4 -0
  93. package/build/parser/satisfactory/types/objects/SaveObject.d.ts.map +1 -1
  94. package/build/parser/satisfactory/types/objects/SaveObject.js +19 -5
  95. package/build/parser/satisfactory/types/objects/SaveObject.js.map +1 -1
  96. package/build/parser/satisfactory/types/property/PropertiesList.d.ts +4 -4
  97. package/build/parser/satisfactory/types/property/PropertiesList.d.ts.map +1 -1
  98. package/build/parser/satisfactory/types/property/PropertiesList.js +73 -114
  99. package/build/parser/satisfactory/types/property/PropertiesList.js.map +1 -1
  100. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts +9 -12
  101. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts.map +1 -1
  102. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.js +12 -7
  103. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.js.map +1 -1
  104. package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts +10 -5
  105. package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts.map +1 -1
  106. package/build/parser/satisfactory/types/property/generic/BoolProperty.js +20 -23
  107. package/build/parser/satisfactory/types/property/generic/BoolProperty.js.map +1 -1
  108. package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts +7 -7
  109. package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts.map +1 -1
  110. package/build/parser/satisfactory/types/property/generic/ByteProperty.js +52 -35
  111. package/build/parser/satisfactory/types/property/generic/ByteProperty.js.map +1 -1
  112. package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts +9 -5
  113. package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts.map +1 -1
  114. package/build/parser/satisfactory/types/property/generic/DoubleProperty.js +15 -23
  115. package/build/parser/satisfactory/types/property/generic/DoubleProperty.js.map +1 -1
  116. package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts +10 -5
  117. package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts.map +1 -1
  118. package/build/parser/satisfactory/types/property/generic/EnumProperty.js +17 -23
  119. package/build/parser/satisfactory/types/property/generic/EnumProperty.js.map +1 -1
  120. package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts +9 -5
  121. package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts.map +1 -1
  122. package/build/parser/satisfactory/types/property/generic/FloatProperty.js +15 -23
  123. package/build/parser/satisfactory/types/property/generic/FloatProperty.js.map +1 -1
  124. package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts +9 -5
  125. package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts.map +1 -1
  126. package/build/parser/satisfactory/types/property/generic/Int64Property.js +15 -23
  127. package/build/parser/satisfactory/types/property/generic/Int64Property.js.map +1 -1
  128. package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts +8 -4
  129. package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts.map +1 -1
  130. package/build/parser/satisfactory/types/property/generic/Int8Property.js +11 -20
  131. package/build/parser/satisfactory/types/property/generic/Int8Property.js.map +1 -1
  132. package/build/parser/satisfactory/types/property/generic/IntProperty.d.ts +20 -0
  133. package/build/parser/satisfactory/types/property/generic/IntProperty.d.ts.map +1 -0
  134. package/build/parser/satisfactory/types/property/generic/IntProperty.js +25 -0
  135. package/build/parser/satisfactory/types/property/generic/IntProperty.js.map +1 -0
  136. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.d.ts +21 -0
  137. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.d.ts.map +1 -0
  138. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.js +26 -0
  139. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.js.map +1 -0
  140. package/build/parser/satisfactory/types/property/generic/NameProperty.d.ts +20 -0
  141. package/build/parser/satisfactory/types/property/generic/NameProperty.d.ts.map +1 -0
  142. package/build/parser/satisfactory/types/property/generic/NameProperty.js +25 -0
  143. package/build/parser/satisfactory/types/property/generic/NameProperty.js.map +1 -0
  144. package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts +9 -5
  145. package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts.map +1 -1
  146. package/build/parser/satisfactory/types/property/generic/ObjectProperty.js +15 -23
  147. package/build/parser/satisfactory/types/property/generic/ObjectProperty.js.map +1 -1
  148. package/build/parser/satisfactory/types/property/generic/SingleProperty.d.ts +20 -0
  149. package/build/parser/satisfactory/types/property/generic/SingleProperty.d.ts.map +1 -0
  150. package/build/parser/satisfactory/types/property/generic/SingleProperty.js +25 -0
  151. package/build/parser/satisfactory/types/property/generic/SingleProperty.js.map +1 -0
  152. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts +9 -5
  153. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts.map +1 -1
  154. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js +15 -23
  155. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js.map +1 -1
  156. package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts +9 -5
  157. package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts.map +1 -1
  158. package/build/parser/satisfactory/types/property/generic/StrProperty.js +15 -23
  159. package/build/parser/satisfactory/types/property/generic/StrProperty.js.map +1 -1
  160. package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts +9 -5
  161. package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts.map +1 -1
  162. package/build/parser/satisfactory/types/property/generic/TextProperty.js +38 -45
  163. package/build/parser/satisfactory/types/property/generic/TextProperty.js.map +1 -1
  164. package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts +9 -5
  165. package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts.map +1 -1
  166. package/build/parser/satisfactory/types/property/generic/Uint32Property.js +15 -23
  167. package/build/parser/satisfactory/types/property/generic/Uint32Property.js.map +1 -1
  168. package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts +9 -5
  169. package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts.map +1 -1
  170. package/build/parser/satisfactory/types/property/generic/Uint64Property.js +14 -22
  171. package/build/parser/satisfactory/types/property/generic/Uint64Property.js.map +1 -1
  172. package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts +9 -5
  173. package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts.map +1 -1
  174. package/build/parser/satisfactory/types/property/generic/Uint8Property.js +14 -22
  175. package/build/parser/satisfactory/types/property/generic/Uint8Property.js.map +1 -1
  176. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.d.ts +15 -0
  177. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.d.ts.map +1 -0
  178. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.js +129 -0
  179. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.js.map +1 -0
  180. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.d.ts +55 -0
  181. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.d.ts.map +1 -0
  182. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.js +24 -0
  183. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.js.map +1 -0
  184. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.d.ts +20 -0
  185. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.d.ts.map +1 -0
  186. package/build/parser/satisfactory/types/property/generic/{MapProperty.js → containers/MapProperty.js} +52 -61
  187. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.js.map +1 -0
  188. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.d.ts +14 -0
  189. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.d.ts.map +1 -0
  190. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.js +90 -0
  191. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.js.map +1 -0
  192. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.d.ts +34 -0
  193. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.d.ts.map +1 -0
  194. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.js +17 -0
  195. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.js.map +1 -0
  196. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.d.ts +59 -0
  197. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.d.ts.map +1 -0
  198. package/build/parser/satisfactory/types/property/generic/{StructProperty.js → containers/StructProperty.js} +61 -84
  199. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.js.map +1 -0
  200. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts +2 -0
  201. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts.map +1 -1
  202. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.js +14 -5
  203. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.js.map +1 -1
  204. package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.d.ts.map +1 -1
  205. package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.js.map +1 -1
  206. package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.js +2 -2
  207. package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.js.map +1 -1
  208. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.d.ts +4 -2
  209. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.d.ts.map +1 -1
  210. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.js +4 -2
  211. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.js.map +1 -1
  212. package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts +4 -4
  213. package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts.map +1 -1
  214. package/build/parser/satisfactory/types/structs/GUIDInfo.js +6 -6
  215. package/build/parser/satisfactory/types/structs/GUIDInfo.js.map +1 -1
  216. package/build/parser/satisfactory/types/structs/SaveBodyValidation.d.ts.map +1 -1
  217. package/build/parser/satisfactory/types/structs/SaveBodyValidation.js +0 -2
  218. package/build/parser/satisfactory/types/structs/SaveBodyValidation.js.map +1 -1
  219. package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts +1 -1
  220. package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts.map +1 -1
  221. package/build/parser/satisfactory/types/structs/SoftObjectReference.js +2 -2
  222. package/build/parser/satisfactory/types/structs/SoftObjectReference.js.map +1 -1
  223. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.d.ts +12 -0
  224. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.d.ts.map +1 -0
  225. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.js +21 -0
  226. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.js.map +1 -0
  227. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.d.ts +11 -0
  228. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.d.ts.map +1 -0
  229. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.js +22 -0
  230. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.js.map +1 -0
  231. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.d.ts +14 -0
  232. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.d.ts.map +1 -0
  233. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.js +24 -0
  234. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.js.map +1 -0
  235. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.d.ts +12 -0
  236. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.d.ts.map +1 -0
  237. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.js +22 -0
  238. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.js.map +1 -0
  239. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.d.ts +11 -0
  240. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.d.ts.map +1 -0
  241. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.js +18 -0
  242. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.js.map +1 -0
  243. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.d.ts +11 -0
  244. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.d.ts.map +1 -0
  245. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.js +38 -0
  246. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.js.map +1 -0
  247. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.d.ts +30 -0
  248. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.d.ts.map +1 -0
  249. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.js +182 -0
  250. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.js.map +1 -0
  251. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.d.ts +11 -0
  252. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.d.ts.map +1 -0
  253. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.js +26 -0
  254. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.js.map +1 -0
  255. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.d.ts +17 -0
  256. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.d.ts.map +1 -0
  257. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.js +27 -0
  258. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.js.map +1 -0
  259. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.d.ts +11 -0
  260. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.d.ts.map +1 -0
  261. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.js +21 -0
  262. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.js.map +1 -0
  263. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.d.ts +12 -0
  264. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.d.ts.map +1 -0
  265. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.js +22 -0
  266. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.js.map +1 -0
  267. package/build/parser/stream/reworked/readable-stream-parser.d.ts +2 -3
  268. package/build/parser/stream/reworked/readable-stream-parser.d.ts.map +1 -1
  269. package/build/parser/stream/reworked/readable-stream-parser.js +82 -44
  270. package/build/parser/stream/reworked/readable-stream-parser.js.map +1 -1
  271. package/build/parser/unreal-engine/ETextHistoryType.d.ts +17 -0
  272. package/build/parser/unreal-engine/ETextHistoryType.d.ts.map +1 -0
  273. package/build/parser/unreal-engine/ETextHistoryType.js +21 -0
  274. package/build/parser/unreal-engine/ETextHistoryType.js.map +1 -0
  275. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.d.ts +24 -0
  276. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.d.ts.map +1 -0
  277. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.js +29 -0
  278. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.js.map +1 -0
  279. package/docs/assets/hierarchy.js +1 -0
  280. package/docs/assets/icons.js +1 -1
  281. package/docs/assets/icons.svg +1 -1
  282. package/docs/assets/main.js +5 -5
  283. package/docs/assets/navigation.js +1 -1
  284. package/docs/assets/search.js +1 -1
  285. package/docs/assets/style.css +1428 -1288
  286. package/docs/classes/BlueprintConfigReader.html +37 -36
  287. package/docs/classes/BlueprintConfigWriter.html +42 -0
  288. package/docs/classes/BlueprintReader.html +39 -38
  289. package/docs/classes/BlueprintWriter.html +45 -0
  290. package/docs/classes/ByteReader.html +37 -0
  291. package/docs/classes/ByteWriter.html +41 -0
  292. package/docs/classes/CompressionLibraryError.html +11 -11
  293. package/docs/classes/ContextReader.html +36 -35
  294. package/docs/classes/ContextWriter.html +41 -40
  295. package/docs/classes/CorruptBlueprintError.html +11 -11
  296. package/docs/classes/CorruptSaveError.html +11 -11
  297. package/docs/classes/Parser.html +23 -23
  298. package/docs/classes/ParserError.html +11 -11
  299. package/docs/classes/ReadableStreamParser.html +7 -7
  300. package/docs/classes/SatisfactorySave.html +9 -8
  301. package/docs/classes/SaveComponent.html +20 -18
  302. package/docs/classes/SaveEntity.html +25 -23
  303. package/docs/classes/SaveObject.html +17 -15
  304. package/docs/classes/SaveReader.html +46 -45
  305. package/docs/classes/SaveWriter.html +44 -43
  306. package/docs/classes/TimeoutError.html +11 -11
  307. package/docs/classes/UnimplementedError.html +11 -11
  308. package/docs/classes/UnsupportedVersionError.html +11 -11
  309. package/docs/enums/Alignment.html +3 -3
  310. package/docs/enums/BlueprintConfigVersion.html +11 -9
  311. package/docs/enums/BlueprintHeaderVersion.html +7 -7
  312. package/docs/enums/CompressionAlgorithmCode.html +2 -2
  313. package/docs/enums/ETextHistoryType.html +15 -0
  314. package/docs/enums/EUnrealEngineObjectUE5Version.html +23 -0
  315. package/docs/enums/FactoryGameCustomVersion.html +33 -33
  316. package/docs/enums/RuntimeBuildableInstanceDataVersion.html +9 -7
  317. package/docs/enums/SaveCustomVersion.html +71 -65
  318. package/docs/enums/SaveHeaderType.html +19 -19
  319. package/docs/functions/AbstractBaseProperty.CreateFromTag.html +2 -0
  320. package/docs/functions/ArrayProperty.Parse.html +1 -1
  321. package/docs/functions/ArrayProperty.Serialize.html +1 -1
  322. package/docs/functions/BlueprintConfig.Parse.html +1 -1
  323. package/docs/functions/BlueprintConfig.Serialize.html +1 -1
  324. package/docs/functions/BlueprintHeader.Parse.html +1 -1
  325. package/docs/functions/BlueprintHeader.Serialize.html +1 -1
  326. package/docs/functions/BoolProperty.Parse.html +1 -1
  327. package/docs/functions/BoolProperty.ReadValue.html +1 -1
  328. package/docs/functions/BoolProperty.Serialize.html +1 -1
  329. package/docs/functions/BoolProperty.SerializeValue.html +1 -1
  330. package/docs/functions/BuildableSubsystemSpecialProperties.Parse.html +1 -1
  331. package/docs/functions/BuildableSubsystemSpecialProperties.Serialize.html +1 -1
  332. package/docs/functions/BuildableTypeInstance.Parse.html +1 -1
  333. package/docs/functions/BuildableTypeInstance.Serialize.html +1 -1
  334. package/docs/functions/ByteProperty.Parse.html +1 -1
  335. package/docs/functions/ByteProperty.ReadValue.html +1 -1
  336. package/docs/functions/ByteProperty.Serialize.html +1 -1
  337. package/docs/functions/ByteProperty.SerializeValue.html +1 -1
  338. package/docs/functions/CircuitSpecialProperties.Parse.html +1 -1
  339. package/docs/functions/CircuitSpecialProperties.Serialize.html +1 -1
  340. package/docs/functions/ConveyorChainActorSpecialProperties.Parse.html +1 -1
  341. package/docs/functions/ConveyorChainActorSpecialProperties.Serialize.html +1 -1
  342. package/docs/functions/ConveyorSpecialProperties.Parse.html +1 -1
  343. package/docs/functions/ConveyorSpecialProperties.Serialize.html +1 -1
  344. package/docs/functions/DataBlob.Read.html +1 -0
  345. package/docs/functions/DataBlob.ReadNObjectContents.html +1 -0
  346. package/docs/functions/DataBlob.SkipOver.html +1 -0
  347. package/docs/functions/DataBlob.Write.html +1 -0
  348. package/docs/functions/DoubleProperty.Parse.html +1 -1
  349. package/docs/functions/DoubleProperty.ReadValue.html +1 -1
  350. package/docs/functions/DoubleProperty.Serialize.html +1 -1
  351. package/docs/functions/DoubleProperty.SerializeValue.html +1 -1
  352. package/docs/functions/DynamicStructPropertyValue.read.html +1 -1
  353. package/docs/functions/DynamicStructPropertyValue.write.html +1 -1
  354. package/docs/functions/EmptySpecialProperties.Parse.html +1 -1
  355. package/docs/functions/EmptySpecialProperties.Serialize.html +1 -1
  356. package/docs/functions/EnumProperty.Parse.html +1 -1
  357. package/docs/functions/EnumProperty.ReadValue.html +1 -1
  358. package/docs/functions/EnumProperty.Serialize.html +1 -1
  359. package/docs/functions/EnumProperty.SerializeValue.html +1 -1
  360. package/docs/functions/FClientIdentityInfo.read.html +1 -1
  361. package/docs/functions/FClientIdentityInfo.write.html +1 -1
  362. package/docs/functions/FColor.read.html +1 -1
  363. package/docs/functions/FColor.write.html +1 -1
  364. package/docs/functions/FCustomVersion.read.html +1 -0
  365. package/docs/functions/FCustomVersion.write.html +1 -0
  366. package/docs/functions/FCustomVersionContainer.read.html +1 -0
  367. package/docs/functions/FCustomVersionContainer.write.html +1 -0
  368. package/docs/functions/FEngineVersion.read.html +1 -0
  369. package/docs/functions/FEngineVersion.write.html +1 -0
  370. package/docs/functions/FGDynamicStruct.Parse.html +1 -1
  371. package/docs/functions/FGDynamicStruct.Serialize.html +1 -1
  372. package/docs/functions/FICFrameRange.read.html +1 -1
  373. package/docs/functions/FICFrameRange.write.html +1 -1
  374. package/docs/functions/FINGPUT1BufferPixel.read.html +1 -1
  375. package/docs/functions/FINGPUT1BufferPixel.write.html +1 -1
  376. package/docs/functions/FINItemStateFileSystem.IsFINItemStateFileSystem.html +1 -1
  377. package/docs/functions/FINItemStateFileSystem.read.html +1 -1
  378. package/docs/functions/FINItemStateFileSystem.write.html +1 -1
  379. package/docs/functions/FINLuaRuntimePersistenceState.read.html +1 -0
  380. package/docs/functions/FINLuaRuntimePersistenceState.write.html +1 -0
  381. package/docs/functions/FINNetworkTrace.read.html +1 -1
  382. package/docs/functions/FINNetworkTrace.write.html +1 -1
  383. package/docs/functions/FLBBalancerIndexing.read.html +1 -1
  384. package/docs/functions/FLBBalancerIndexing.write.html +1 -1
  385. package/docs/functions/FLinearColor.read.html +1 -1
  386. package/docs/functions/FLinearColor.write.html +1 -1
  387. package/docs/functions/FLocalUserNetIdBundle.read.html +1 -0
  388. package/docs/functions/FLocalUserNetIdBundle.write.html +1 -0
  389. package/docs/functions/FPackageFileVersion.read.html +1 -0
  390. package/docs/functions/FPackageFileVersion.write.html +1 -0
  391. package/docs/functions/FPlayerInfoHandle.read.html +1 -0
  392. package/docs/functions/FPlayerInfoHandle.write.html +1 -0
  393. package/docs/functions/FPropertyTag.IsCompletePropertyTagType.html +1 -0
  394. package/docs/functions/FPropertyTag.read.html +2 -0
  395. package/docs/functions/FPropertyTag.write.html +1 -0
  396. package/docs/functions/FPropertyTag.writeFromProperty.html +2 -0
  397. package/docs/functions/FPropertyTagNode.read.html +1 -0
  398. package/docs/functions/FPropertyTagNode.write.html +1 -0
  399. package/docs/functions/FSaveObjectVersionData.read.html +1 -0
  400. package/docs/functions/FSaveObjectVersionData.write.html +1 -0
  401. package/docs/functions/FUniqueNetIdRepl.read.html +1 -0
  402. package/docs/functions/FUniqueNetIdRepl.write.html +1 -0
  403. package/docs/functions/FloatProperty.Parse.html +1 -1
  404. package/docs/functions/FloatProperty.ReadValue.html +1 -1
  405. package/docs/functions/FloatProperty.Serialize.html +1 -1
  406. package/docs/functions/FloatProperty.SerializeValue.html +1 -1
  407. package/docs/functions/GUID.read.html +1 -1
  408. package/docs/functions/GUID.write.html +1 -1
  409. package/docs/functions/HierarchyVersion.CreateOnHeader.html +1 -0
  410. package/docs/functions/HierarchyVersion.SetOnLevel.html +1 -0
  411. package/docs/functions/HierarchyVersion.SetOnObject.html +1 -0
  412. package/docs/functions/Int64Property.Parse.html +1 -1
  413. package/docs/functions/Int64Property.ReadValue.html +1 -1
  414. package/docs/functions/Int64Property.Serialize.html +1 -1
  415. package/docs/functions/Int64Property.SerializeValue.html +1 -1
  416. package/docs/functions/Int8Property.Parse.html +1 -1
  417. package/docs/functions/Int8Property.ReadValue.html +1 -1
  418. package/docs/functions/Int8Property.Serialize.html +1 -1
  419. package/docs/functions/Int8Property.SerializeValue.html +1 -1
  420. package/docs/functions/IntProperty.Parse.html +1 -0
  421. package/docs/functions/IntProperty.ReadValue.html +1 -0
  422. package/docs/functions/IntProperty.Serialize.html +1 -0
  423. package/docs/functions/IntProperty.SerializeValue.html +1 -0
  424. package/docs/functions/InterfaceProperty.Parse.html +1 -0
  425. package/docs/functions/InterfaceProperty.ReadValue.html +1 -0
  426. package/docs/functions/InterfaceProperty.Serialize.html +1 -0
  427. package/docs/functions/InterfaceProperty.SerializeValue.html +1 -0
  428. package/docs/functions/LBBalancerIndexing.read.html +1 -0
  429. package/docs/functions/LBBalancerIndexing.write.html +1 -0
  430. package/docs/functions/Level.Read.html +1 -0
  431. package/docs/functions/Level.Serialize.html +1 -0
  432. package/docs/functions/LevelToDestroyedActorsMap.read.html +1 -1
  433. package/docs/functions/LevelToDestroyedActorsMap.write.html +1 -1
  434. package/docs/functions/MD5Hash.read.html +1 -1
  435. package/docs/functions/MD5Hash.write.html +1 -1
  436. package/docs/functions/MapProperty.Parse.html +1 -1
  437. package/docs/functions/MapProperty.Serialize.html +1 -1
  438. package/docs/functions/NameProperty.Parse.html +1 -0
  439. package/docs/functions/NameProperty.ReadValue.html +1 -0
  440. package/docs/functions/NameProperty.Serialize.html +1 -0
  441. package/docs/functions/NameProperty.SerializeValue.html +1 -0
  442. package/docs/functions/ObjectProperty.Parse.html +1 -1
  443. package/docs/functions/ObjectProperty.ReadValue.html +1 -1
  444. package/docs/functions/ObjectProperty.Serialize.html +1 -1
  445. package/docs/functions/ObjectProperty.SerializeValue.html +1 -1
  446. package/docs/functions/ObjectReference.IsEqual.html +1 -1
  447. package/docs/functions/ObjectReference.read.html +1 -1
  448. package/docs/functions/ObjectReference.write.html +1 -1
  449. package/docs/functions/ObjectReferencesList.ReadList.html +1 -0
  450. package/docs/functions/ObjectReferencesList.SerializeList.html +1 -0
  451. package/docs/functions/ObjectsListSpecialProperties.Parse.html +1 -1
  452. package/docs/functions/ObjectsListSpecialProperties.Serialize.html +1 -1
  453. package/docs/functions/OptionalGUID.read.html +1 -0
  454. package/docs/functions/OptionalGUID.write.html +1 -0
  455. package/docs/functions/PlayerSpecialProperties.Parse.html +1 -1
  456. package/docs/functions/PlayerSpecialProperties.Serialize.html +1 -1
  457. package/docs/functions/PowerLineSpecialProperties.Parse.html +1 -1
  458. package/docs/functions/PowerLineSpecialProperties.Serialize.html +1 -1
  459. package/docs/functions/PropertiesList.ParseList.html +1 -1
  460. package/docs/functions/PropertiesList.ParseSingleProperty.html +1 -1
  461. package/docs/functions/PropertiesList.SerializeList.html +1 -1
  462. package/docs/functions/PropertiesList.SerializeSingleProperty.html +1 -1
  463. package/docs/functions/SatisfactorySaveHeader.Parse.html +1 -1
  464. package/docs/functions/SatisfactorySaveHeader.Serialize.html +1 -1
  465. package/docs/functions/SaveBodyChunks.CompressDataIntoChunks.html +1 -1
  466. package/docs/functions/SaveBodyChunks.DecompressChunks.html +1 -1
  467. package/docs/functions/SaveBodyValidation.Parse.html +1 -1
  468. package/docs/functions/SaveBodyValidation.Serialize.html +1 -1
  469. package/docs/functions/SetProperty.Parse.html +1 -1
  470. package/docs/functions/SetProperty.Serialize.html +1 -1
  471. package/docs/functions/SingleProperty.Parse.html +1 -0
  472. package/docs/functions/SingleProperty.ReadValue.html +1 -0
  473. package/docs/functions/SingleProperty.Serialize.html +1 -0
  474. package/docs/functions/SingleProperty.SerializeValue.html +1 -0
  475. package/docs/functions/SoftObjectProperty.Parse.html +1 -1
  476. package/docs/functions/SoftObjectProperty.ReadValue.html +1 -1
  477. package/docs/functions/SoftObjectProperty.Serialize.html +1 -1
  478. package/docs/functions/SoftObjectProperty.SerializeValue.html +1 -1
  479. package/docs/functions/SoftObjectReference.read.html +1 -1
  480. package/docs/functions/SoftObjectReference.write.html +1 -1
  481. package/docs/functions/SpecialDroneActionProperties.Parse.html +1 -1
  482. package/docs/functions/SpecialDroneActionProperties.Serialize.html +1 -1
  483. package/docs/functions/SpecialProperties.ParseClassSpecificSpecialProperties.html +1 -1
  484. package/docs/functions/SpecialProperties.SerializeClassSpecificSpecialProperties.html +1 -1
  485. package/docs/functions/StrProperty.Parse.html +1 -1
  486. package/docs/functions/StrProperty.ReadValue.html +1 -1
  487. package/docs/functions/StrProperty.Serialize.html +1 -1
  488. package/docs/functions/StrProperty.SerializeValue.html +1 -1
  489. package/docs/functions/StructProperty.Parse.html +1 -1
  490. package/docs/functions/StructProperty.ParseValue.html +1 -1
  491. package/docs/functions/StructProperty.Serialize.html +1 -1
  492. package/docs/functions/StructProperty.SerializeValue.html +1 -1
  493. package/docs/functions/TOCBlob.Read.html +1 -0
  494. package/docs/functions/TOCBlob.ReadNObjectHeaders.html +1 -0
  495. package/docs/functions/TOCBlob.SerializeAllObjectHeaders.html +1 -0
  496. package/docs/functions/TOCBlob.SkipOver.html +1 -0
  497. package/docs/functions/TOCBlob.Write.html +1 -0
  498. package/docs/functions/TextProperty.Parse.html +1 -1
  499. package/docs/functions/TextProperty.ReadValue.html +1 -1
  500. package/docs/functions/TextProperty.Serialize.html +1 -1
  501. package/docs/functions/TextProperty.SerializeValue.html +1 -1
  502. package/docs/functions/Transform.Parse.html +1 -1
  503. package/docs/functions/Transform.ParseF.html +1 -1
  504. package/docs/functions/Transform.Serialize.html +1 -1
  505. package/docs/functions/Transform.SerializeF.html +1 -1
  506. package/docs/functions/Uint32Property.Parse.html +1 -1
  507. package/docs/functions/Uint32Property.ReadValue.html +1 -1
  508. package/docs/functions/Uint32Property.Serialize.html +1 -1
  509. package/docs/functions/Uint32Property.SerializeValue.html +1 -1
  510. package/docs/functions/Uint64Property.Parse.html +1 -1
  511. package/docs/functions/Uint64Property.ReadValue.html +1 -1
  512. package/docs/functions/Uint64Property.Serialize.html +1 -1
  513. package/docs/functions/Uint64Property.SerializeValue.html +1 -1
  514. package/docs/functions/Uint8Property.Parse.html +1 -1
  515. package/docs/functions/Uint8Property.ReadValue.html +1 -1
  516. package/docs/functions/Uint8Property.Serialize.html +1 -1
  517. package/docs/functions/Uint8Property.SerializeValue.html +1 -1
  518. package/docs/functions/VehiclePhysicsData.Parse.html +1 -1
  519. package/docs/functions/VehiclePhysicsData.Serialize.html +1 -1
  520. package/docs/functions/VehicleSpecialProperties.Parse.html +1 -1
  521. package/docs/functions/VehicleSpecialProperties.Serialize.html +1 -1
  522. package/docs/functions/col4.ParseBGRA.html +1 -1
  523. package/docs/functions/col4.ParseRGBA.html +1 -1
  524. package/docs/functions/col4.SerializeBGRA.html +1 -1
  525. package/docs/functions/col4.SerializeRGBA.html +1 -1
  526. package/docs/functions/isArrayProperty.html +1 -1
  527. package/docs/functions/isBoolProperty.html +1 -1
  528. package/docs/functions/isBuildableSubsystemSpecialProperties.html +1 -1
  529. package/docs/functions/isByteProperty.html +1 -1
  530. package/docs/functions/isCircuitSpecialProperties.html +1 -1
  531. package/docs/functions/isConveyorChainActorSpecialProperties.html +1 -1
  532. package/docs/functions/isConveyorSpecialProperties.html +1 -1
  533. package/docs/functions/isDoubleProperty.html +1 -1
  534. package/docs/functions/isEmptySpecialProperties.html +1 -1
  535. package/docs/functions/isEnumProperty.html +1 -1
  536. package/docs/functions/isFloatProperty.html +1 -1
  537. package/docs/functions/isInt64Property.html +1 -1
  538. package/docs/functions/isInt8Property.html +1 -1
  539. package/docs/functions/isIntProperty.html +1 -0
  540. package/docs/functions/isInterfaceProperty.html +1 -0
  541. package/docs/functions/isMapProperty.html +1 -1
  542. package/docs/functions/isNameProperty.html +1 -0
  543. package/docs/functions/isObjectProperty.html +1 -1
  544. package/docs/functions/isObjectsListSpecialProperties.html +1 -1
  545. package/docs/functions/isPlayerSpecialProperties.html +1 -1
  546. package/docs/functions/isPowerLineSpecialProperties.html +1 -1
  547. package/docs/functions/isSaveComponent.html +1 -1
  548. package/docs/functions/isSaveEntity.html +1 -1
  549. package/docs/functions/isSetProperty.html +1 -1
  550. package/docs/functions/isSingleProperty.html +1 -0
  551. package/docs/functions/isSoftObjectProperty.html +1 -1
  552. package/docs/functions/isSpecialDroneActionProperties.html +1 -1
  553. package/docs/functions/isStrProperty.html +1 -1
  554. package/docs/functions/isStructProperty.html +1 -1
  555. package/docs/functions/isTextProperty.html +1 -1
  556. package/docs/functions/isUInt64Property.html +1 -1
  557. package/docs/functions/isUint32Property.html +1 -1
  558. package/docs/functions/isUint8Property.html +1 -1
  559. package/docs/functions/isVehicleSpecialProperties.html +1 -1
  560. package/docs/functions/vec2.Parse.html +1 -1
  561. package/docs/functions/vec2.ParseF.html +1 -1
  562. package/docs/functions/vec2.Serialize.html +1 -1
  563. package/docs/functions/vec2.SerializeF.html +1 -1
  564. package/docs/functions/vec3.Parse.html +1 -1
  565. package/docs/functions/vec3.ParseF.html +1 -1
  566. package/docs/functions/vec3.ParseInt.html +1 -1
  567. package/docs/functions/vec3.Serialize.html +1 -1
  568. package/docs/functions/vec3.SerializeF.html +1 -1
  569. package/docs/functions/vec3.SerializeInt.html +1 -1
  570. package/docs/functions/vec3.add.html +1 -1
  571. package/docs/functions/vec3.length.html +1 -1
  572. package/docs/functions/vec3.mult.html +1 -1
  573. package/docs/functions/vec3.norm.html +1 -1
  574. package/docs/functions/vec3.sub.html +1 -1
  575. package/docs/functions/vec4.Parse.html +1 -1
  576. package/docs/functions/vec4.ParseF.html +1 -1
  577. package/docs/functions/vec4.Serialize.html +1 -1
  578. package/docs/functions/vec4.SerializeF.html +1 -1
  579. package/docs/hierarchy.html +1 -1
  580. package/docs/index.html +47 -21
  581. package/docs/interfaces/BinaryOperable.html +5 -0
  582. package/docs/interfaces/BinaryReadable.html +22 -0
  583. package/docs/interfaces/BinaryWritable.html +22 -0
  584. package/docs/interfaces/Blueprint.html +6 -6
  585. package/docs/interfaces/BlueprintConfig.html +13 -0
  586. package/docs/interfaces/SaveComponentHeader.html +6 -6
  587. package/docs/interfaces/SaveEntityHeader.html +8 -8
  588. package/docs/interfaces/SaveObjectHeader.html +5 -5
  589. package/docs/modules/AbstractBaseProperty.html +1 -2
  590. package/docs/modules/ArrayProperty.html +1 -5
  591. package/docs/modules/BlueprintConfig.html +1 -3
  592. package/docs/modules/BlueprintHeader.html +1 -3
  593. package/docs/modules/BoolProperty.html +1 -6
  594. package/docs/modules/BuildableSubsystemSpecialProperties.html +1 -3
  595. package/docs/modules/BuildableTypeInstance.html +1 -3
  596. package/docs/modules/ByteProperty.html +1 -6
  597. package/docs/modules/CircuitSpecialProperties.html +1 -3
  598. package/docs/modules/ConveyorChainActorSpecialProperties.html +1 -3
  599. package/docs/modules/ConveyorSpecialProperties.html +1 -3
  600. package/docs/modules/DataBlob.html +2 -0
  601. package/docs/modules/DoubleProperty.html +1 -6
  602. package/docs/modules/DynamicStructPropertyValue.html +1 -3
  603. package/docs/modules/EmptySpecialProperties.html +1 -3
  604. package/docs/modules/EnumProperty.html +1 -6
  605. package/docs/modules/FClientIdentityInfo.html +1 -3
  606. package/docs/modules/FColor.html +1 -3
  607. package/docs/modules/FCustomVersion.html +1 -0
  608. package/docs/modules/FCustomVersionContainer.html +1 -0
  609. package/docs/modules/FEngineVersion.html +1 -0
  610. package/docs/modules/FGDynamicStruct.html +1 -3
  611. package/docs/modules/FICFrameRange.html +2 -4
  612. package/docs/modules/FINGPUT1BufferPixel.html +2 -4
  613. package/docs/modules/FINItemStateFileSystem.html +1 -5
  614. package/docs/modules/FINLuaRuntimePersistenceState.html +2 -0
  615. package/docs/modules/FINNetworkTrace.html +2 -4
  616. package/docs/modules/FLBBalancerIndexing.html +1 -3
  617. package/docs/modules/FLinearColor.html +1 -3
  618. package/docs/modules/FLocalUserNetIdBundle.html +1 -0
  619. package/docs/modules/FPackageFileVersion.html +1 -0
  620. package/docs/modules/FPlayerInfoHandle.html +1 -0
  621. package/docs/modules/FPropertyTag.html +1 -0
  622. package/docs/modules/FPropertyTagNode.html +1 -0
  623. package/docs/modules/FSaveObjectVersionData.html +1 -0
  624. package/docs/modules/FUniqueNetIdRepl.html +1 -0
  625. package/docs/modules/FloatProperty.html +1 -6
  626. package/docs/modules/GUID.html +1 -3
  627. package/docs/modules/HierarchyVersion.html +1 -0
  628. package/docs/modules/Int64Property.html +1 -6
  629. package/docs/modules/Int8Property.html +1 -6
  630. package/docs/modules/IntProperty.html +1 -0
  631. package/docs/modules/InterfaceProperty.html +1 -0
  632. package/docs/modules/LBBalancerIndexing.html +1 -0
  633. package/docs/modules/Level.html +1 -9
  634. package/docs/modules/LevelToDestroyedActorsMap.html +1 -3
  635. package/docs/modules/MD5Hash.html +1 -3
  636. package/docs/modules/MapProperty.html +1 -4
  637. package/docs/modules/NameProperty.html +1 -0
  638. package/docs/modules/ObjectProperty.html +1 -6
  639. package/docs/modules/ObjectReference.html +1 -4
  640. package/docs/modules/ObjectReferencesList.html +1 -0
  641. package/docs/modules/ObjectsListSpecialProperties.html +1 -3
  642. package/docs/modules/OptionalGUID.html +1 -0
  643. package/docs/modules/PlayerSpecialProperties.html +1 -3
  644. package/docs/modules/PowerLineSpecialProperties.html +1 -3
  645. package/docs/modules/PropertiesList.html +1 -5
  646. package/docs/modules/SatisfactorySaveHeader.html +1 -3
  647. package/docs/modules/SaveBodyChunks.html +1 -5
  648. package/docs/modules/SaveBodyValidation.html +2 -4
  649. package/docs/modules/SetProperty.html +1 -5
  650. package/docs/modules/SingleProperty.html +1 -0
  651. package/docs/modules/SoftObjectProperty.html +1 -6
  652. package/docs/modules/SoftObjectReference.html +1 -3
  653. package/docs/modules/SpecialDroneActionProperties.html +1 -3
  654. package/docs/modules/SpecialProperties.html +1 -4
  655. package/docs/modules/StrProperty.html +1 -6
  656. package/docs/modules/StructProperty.html +1 -6
  657. package/docs/modules/TOCBlob.html +2 -0
  658. package/docs/modules/TextProperty.html +1 -6
  659. package/docs/modules/Transform.html +2 -6
  660. package/docs/modules/Uint32Property.html +1 -6
  661. package/docs/modules/Uint64Property.html +1 -6
  662. package/docs/modules/Uint8Property.html +1 -6
  663. package/docs/modules/VehiclePhysicsData.html +1 -3
  664. package/docs/modules/VehicleSpecialProperties.html +1 -3
  665. package/docs/modules/col4.html +1 -5
  666. package/docs/modules/vec2.html +1 -5
  667. package/docs/modules/vec3.html +1 -12
  668. package/docs/modules/vec4.html +1 -5
  669. package/docs/modules.html +1 -263
  670. package/docs/types/AbstractBaseProperty.html +14 -0
  671. package/docs/types/ArrayProperty.html +1 -0
  672. package/docs/types/BasicMultipleStructPropertyValue.html +2 -1
  673. package/docs/types/BasicStructPropertyValue.html +2 -1
  674. package/docs/types/BlueprintHeader.html +8 -0
  675. package/docs/types/BlueprintReaderWriterContext.html +7 -2
  676. package/docs/types/BoolArrayProperty.html +1 -0
  677. package/docs/types/BoolProperty.html +1 -0
  678. package/docs/types/BoxStructPropertyValue.html +4 -1
  679. package/docs/types/BuildableSubsystemSpecialProperties.html +4 -0
  680. package/docs/types/BuildableTypeInstance.html +14 -0
  681. package/docs/types/ByteArrayProperty.html +1 -0
  682. package/docs/types/ByteProperty.html +1 -0
  683. package/docs/types/BytePropertyValue.html +3 -1
  684. package/docs/types/ChunkCompressionInfo.html +5 -1
  685. package/docs/types/ChunkSummary.html +3 -1
  686. package/docs/types/CircuitSpecialProperties.html +3 -0
  687. package/docs/types/ConveyorChainActorSpecialProperties.html +10 -0
  688. package/docs/types/ConveyorChainSegmentSpecialProperties.html +10 -1
  689. package/docs/types/ConveyorItemSpecialProperties.html +3 -1
  690. package/docs/types/ConveyorSpecialProperties.html +2 -0
  691. package/docs/types/DoubleArrayProperty.html +1 -0
  692. package/docs/types/DoubleProperty.html +1 -0
  693. package/docs/types/DynamicStructPropertyValue.html +3 -0
  694. package/docs/types/EmptySpecialProperties.html +2 -0
  695. package/docs/types/EnumArrayProperty.html +1 -0
  696. package/docs/types/EnumProperty.html +1 -0
  697. package/docs/types/FClientIdentityInfo.html +4 -0
  698. package/docs/types/FColor.html +2 -0
  699. package/docs/types/FCustomVersion.html +3 -0
  700. package/docs/types/FCustomVersionContainer.html +2 -0
  701. package/docs/types/FEngineVersion.html +6 -0
  702. package/docs/types/FGDynamicStruct.html +10 -0
  703. package/docs/types/FICFrameRange.html +3 -0
  704. package/docs/types/FICFrameRangeStructPropertyValue.html +3 -1
  705. package/docs/types/FINGPUT1BufferPixel.html +4 -0
  706. package/docs/types/FINItemStateFileSystem.html +2 -0
  707. package/docs/types/FINLuaRuntimePersistenceState.html +7 -0
  708. package/docs/types/FINNetworkTrace.html +4 -0
  709. package/docs/types/FIRInstancedStruct.html +1 -0
  710. package/docs/types/FLBBalancerIndexing.html +5 -0
  711. package/docs/types/FLinearColor.html +2 -0
  712. package/docs/types/FLocalUserNetIdBundle.html +4 -0
  713. package/docs/types/FPackageFileVersion.html +3 -0
  714. package/docs/types/FPlayerInfoHandle.html +3 -0
  715. package/docs/types/FPropertyTag.html +16 -0
  716. package/docs/types/FPropertyTagNode.html +3 -0
  717. package/docs/types/FSaveObjectVersionData.html +6 -0
  718. package/docs/types/FUniqueNetIdRepl.html +3 -0
  719. package/docs/types/FloatArrayProperty.html +1 -0
  720. package/docs/types/FloatProperty.html +1 -0
  721. package/docs/types/GENERIC_MAP_KEY_TYPE.html +1 -1
  722. package/docs/types/GENERIC_MAP_VALUE_TYPE.html +1 -1
  723. package/docs/types/GENERIC_STRUCT_PROPERTY_VALUE.html +1 -1
  724. package/docs/types/GUID.html +2 -0
  725. package/docs/types/Grids.html +1 -1
  726. package/docs/types/HierarchyVersion.html +5 -0
  727. package/docs/types/Int64ArrayProperty.html +1 -0
  728. package/docs/types/Int64Property.html +1 -0
  729. package/docs/types/Int8Property.html +1 -0
  730. package/docs/types/IntArrayProperty.html +1 -0
  731. package/docs/types/IntProperty.html +1 -0
  732. package/docs/types/IntSetProperty.html +1 -0
  733. package/docs/types/InterfaceArrayProperty.html +1 -0
  734. package/docs/types/InterfaceProperty.html +1 -0
  735. package/docs/types/InventoryItemStructPropertyValue.html +4 -1
  736. package/docs/types/LBBalancerIndexing.html +4 -0
  737. package/docs/types/Level.html +9 -0
  738. package/docs/types/LevelToDestroyedActorsMap.html +1 -0
  739. package/docs/types/Levels.html +1 -1
  740. package/docs/types/MD5Hash.html +4 -0
  741. package/docs/types/MapProperty.html +1 -0
  742. package/docs/types/ModData.html +4 -1
  743. package/docs/types/NameProperty.html +1 -0
  744. package/docs/types/NameSetProperty.html +1 -0
  745. package/docs/types/ObjectArrayProperty.html +1 -0
  746. package/docs/types/ObjectProperty.html +1 -0
  747. package/docs/types/ObjectReference.html +4 -0
  748. package/docs/types/ObjectSetProperty.html +1 -0
  749. package/docs/types/ObjectsListSpecialProperties.html +3 -0
  750. package/docs/types/OptionalGUID.html +2 -0
  751. package/docs/types/PlayerSpecialProperties.html +5 -0
  752. package/docs/types/PowerLineSpecialProperties.html +6 -0
  753. package/docs/types/PropertiesMap.html +1 -1
  754. package/docs/types/RailroadTrackPositionStructPropertyValue.html +5 -1
  755. package/docs/types/ReaderWriterContext.html +2 -2
  756. package/docs/types/RoughSaveVersion.html +1 -1
  757. package/docs/types/SatisfactoryModMetadata.html +4 -1
  758. package/docs/types/SatisfactorySaveHeader.html +19 -0
  759. package/docs/types/SaveBodyChunks.html +3 -0
  760. package/docs/types/SaveBodyValidation.html +2 -0
  761. package/docs/types/SaveReaderWriterContext.html +11 -3
  762. package/docs/types/SetProperty.html +1 -0
  763. package/docs/types/SingleProperty.html +1 -0
  764. package/docs/types/SoftObjectArrayProperty.html +1 -0
  765. package/docs/types/SoftObjectProperty.html +1 -0
  766. package/docs/types/SoftObjectReference.html +4 -0
  767. package/docs/types/SpecialDroneAction.html +3 -1
  768. package/docs/types/SpecialDroneActionProperties.html +4 -0
  769. package/docs/types/SpecialProperties.AvailableSpecialPropertiesTypes.html +1 -1
  770. package/docs/types/StrArrayProperty.html +1 -0
  771. package/docs/types/StrProperty.html +1 -0
  772. package/docs/types/StrSetProperty.html +1 -0
  773. package/docs/types/StructArrayProperty.html +1 -0
  774. package/docs/types/StructProperty.html +1 -0
  775. package/docs/types/StructSetProperty.html +1 -0
  776. package/docs/types/TextArrayProperty.html +1 -0
  777. package/docs/types/TextProperty.html +1 -0
  778. package/docs/types/TextPropertyValue.html +13 -1
  779. package/docs/types/Transform.html +5 -0
  780. package/docs/types/Uint32Property.html +1 -0
  781. package/docs/types/Uint32SetProperty.html +1 -0
  782. package/docs/types/Uint64Property.html +1 -0
  783. package/docs/types/Uint8Property.html +1 -0
  784. package/docs/types/VehiclePhysicsData.html +7 -0
  785. package/docs/types/VehicleSpecialProperties.html +5 -0
  786. package/docs/types/col4.html +6 -0
  787. package/docs/types/vec2.html +4 -0
  788. package/docs/types/vec3.html +2 -0
  789. package/docs/types/vec4.html +2 -0
  790. package/docs/variables/DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE.html +1 -1
  791. package/docs/variables/EDIT.html +2 -2
  792. package/docs/variables/FINItemStateFileSystem.ExactStructReference.html +1 -1
  793. package/docs/variables/SaveBodyChunks.HEADER_V1.html +1 -1
  794. package/docs/variables/SaveBodyChunks.HEADER_V2.html +1 -1
  795. package/docs/variables/isBoolArrayProperty.html +1 -0
  796. package/docs/variables/isByteArrayProperty.html +1 -0
  797. package/docs/variables/isDoubleArrayProperty.html +1 -0
  798. package/docs/variables/isEnumArrayProperty.html +1 -0
  799. package/docs/variables/isFloatArrayProperty.html +1 -0
  800. package/docs/variables/isInt64ArrayProperty.html +1 -0
  801. package/docs/variables/isIntArrayProperty.html +1 -0
  802. package/docs/variables/isIntSetProperty.html +1 -0
  803. package/docs/variables/isInterfaceArrayProperty.html +1 -0
  804. package/docs/variables/isNameSetProperty.html +1 -0
  805. package/docs/variables/isObjectArrayProperty.html +1 -0
  806. package/docs/variables/isObjectSetProperty.html +1 -0
  807. package/docs/variables/isSoftObjectArrayProperty.html +1 -0
  808. package/docs/variables/isStrArrayProperty.html +1 -0
  809. package/docs/variables/isStrSetProperty.html +1 -0
  810. package/docs/variables/isStructArrayPRoperty.html +1 -0
  811. package/docs/variables/isStructSetProperty.html +1 -0
  812. package/docs/variables/isTextArrayProperty.html +1 -0
  813. package/docs/variables/isUint32SetProperty.html +1 -0
  814. package/package.json +3 -3
  815. package/build/parser/context/context.d.ts.map +0 -1
  816. package/build/parser/context/context.js.map +0 -1
  817. package/build/parser/file.types.d.ts +0 -14
  818. package/build/parser/file.types.d.ts.map +0 -1
  819. package/build/parser/file.types.js +0 -8
  820. package/build/parser/file.types.js.map +0 -1
  821. package/build/parser/satisfactory/save/level.class.d.ts +0 -29
  822. package/build/parser/satisfactory/save/level.class.d.ts.map +0 -1
  823. package/build/parser/satisfactory/save/level.class.js +0 -204
  824. package/build/parser/satisfactory/save/level.class.js.map +0 -1
  825. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts +0 -22
  826. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts.map +0 -1
  827. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.js +0 -127
  828. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.js.map +0 -1
  829. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.d.ts +0 -14
  830. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.d.ts.map +0 -1
  831. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.js +0 -23
  832. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.js.map +0 -1
  833. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.d.ts +0 -14
  834. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.d.ts.map +0 -1
  835. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.js +0 -23
  836. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.js.map +0 -1
  837. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.d.ts +0 -14
  838. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.d.ts.map +0 -1
  839. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.js +0 -23
  840. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.js.map +0 -1
  841. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.d.ts +0 -14
  842. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.d.ts.map +0 -1
  843. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.js +0 -23
  844. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.js.map +0 -1
  845. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.d.ts +0 -14
  846. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.d.ts.map +0 -1
  847. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.js +0 -23
  848. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.js.map +0 -1
  849. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.d.ts +0 -14
  850. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.d.ts.map +0 -1
  851. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.js +0 -23
  852. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.js.map +0 -1
  853. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.d.ts +0 -14
  854. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.d.ts.map +0 -1
  855. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.js +0 -23
  856. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.js.map +0 -1
  857. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.d.ts +0 -15
  858. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.d.ts.map +0 -1
  859. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.js +0 -23
  860. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.js.map +0 -1
  861. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.d.ts +0 -15
  862. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.d.ts.map +0 -1
  863. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.js +0 -23
  864. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.js.map +0 -1
  865. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.d.ts +0 -14
  866. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.d.ts.map +0 -1
  867. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.js +0 -23
  868. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.js.map +0 -1
  869. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.d.ts +0 -26
  870. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.d.ts.map +0 -1
  871. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.js +0 -75
  872. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.js.map +0 -1
  873. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.d.ts +0 -15
  874. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.d.ts.map +0 -1
  875. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.js +0 -23
  876. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.js.map +0 -1
  877. package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts +0 -16
  878. package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts.map +0 -1
  879. package/build/parser/satisfactory/types/property/generic/Int32Property.js +0 -33
  880. package/build/parser/satisfactory/types/property/generic/Int32Property.js.map +0 -1
  881. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts +0 -25
  882. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts.map +0 -1
  883. package/build/parser/satisfactory/types/property/generic/MapProperty.js.map +0 -1
  884. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.d.ts +0 -14
  885. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.d.ts.map +0 -1
  886. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.js +0 -23
  887. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.js.map +0 -1
  888. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.d.ts +0 -15
  889. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.d.ts.map +0 -1
  890. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.js +0 -23
  891. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.js.map +0 -1
  892. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts +0 -15
  893. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts.map +0 -1
  894. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.js +0 -75
  895. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.js.map +0 -1
  896. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.d.ts +0 -14
  897. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.d.ts.map +0 -1
  898. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.js +0 -23
  899. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.js.map +0 -1
  900. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.d.ts +0 -14
  901. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.d.ts.map +0 -1
  902. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.js +0 -42
  903. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.js.map +0 -1
  904. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.d.ts +0 -14
  905. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.d.ts.map +0 -1
  906. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.js +0 -23
  907. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.js.map +0 -1
  908. package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts +0 -60
  909. package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts.map +0 -1
  910. package/build/parser/satisfactory/types/property/generic/StructProperty.js.map +0 -1
  911. package/build/parser/satisfactory/types/structs/GUID.d.ts +0 -8
  912. package/build/parser/satisfactory/types/structs/GUID.d.ts.map +0 -1
  913. package/build/parser/satisfactory/types/structs/GUID.js +0 -22
  914. package/build/parser/satisfactory/types/structs/GUID.js.map +0 -1
  915. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts +0 -6
  916. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts.map +0 -1
  917. package/build/parser/stream/reworked/save-stream-json-stringifier.js +0 -35
  918. package/build/parser/stream/reworked/save-stream-json-stringifier.js.map +0 -1
  919. package/build/parser/stream/reworked/save-stream-writer.class.d.ts +0 -28
  920. package/build/parser/stream/reworked/save-stream-writer.class.d.ts.map +0 -1
  921. package/build/parser/stream/reworked/save-stream-writer.class.js +0 -84
  922. package/build/parser/stream/reworked/save-stream-writer.class.js.map +0 -1
  923. package/docs/classes/SaveStreamJsonStringifier.html +0 -5
  924. package/docs/classes/SaveStreamWriter.html +0 -16
  925. package/docs/functions/AbstractBaseProperty.Create.html +0 -1
  926. package/docs/functions/ArrayProperty.CalcOverhead.html +0 -1
  927. package/docs/functions/BoolArrayProperty.Parse.html +0 -1
  928. package/docs/functions/BoolArrayProperty.Serialize.html +0 -1
  929. package/docs/functions/BoolProperty.CalcOverhead.html +0 -1
  930. package/docs/functions/ByteArrayProperty.Parse.html +0 -1
  931. package/docs/functions/ByteArrayProperty.Serialize.html +0 -1
  932. package/docs/functions/ByteProperty.CalcOverhead.html +0 -1
  933. package/docs/functions/DoubleArrayProperty.Parse.html +0 -1
  934. package/docs/functions/DoubleArrayProperty.Serialize.html +0 -1
  935. package/docs/functions/DoubleProperty.CalcOverhead.html +0 -1
  936. package/docs/functions/EnumArrayProperty.Parse.html +0 -1
  937. package/docs/functions/EnumArrayProperty.Serialize.html +0 -1
  938. package/docs/functions/EnumProperty.CalcOverhead.html +0 -1
  939. package/docs/functions/FloatArrayProperty.Parse.html +0 -1
  940. package/docs/functions/FloatArrayProperty.Serialize.html +0 -1
  941. package/docs/functions/FloatProperty.CalcOverhead.html +0 -1
  942. package/docs/functions/GUIDInfo.read.html +0 -1
  943. package/docs/functions/GUIDInfo.write.html +0 -1
  944. package/docs/functions/Int32ArrayProperty.Parse.html +0 -1
  945. package/docs/functions/Int32ArrayProperty.Serialize.html +0 -1
  946. package/docs/functions/Int32Property.CalcOverhead.html +0 -1
  947. package/docs/functions/Int32Property.Parse.html +0 -1
  948. package/docs/functions/Int32Property.ReadValue.html +0 -1
  949. package/docs/functions/Int32Property.Serialize.html +0 -1
  950. package/docs/functions/Int32Property.SerializeValue.html +0 -1
  951. package/docs/functions/Int32SetProperty.Parse.html +0 -1
  952. package/docs/functions/Int32SetProperty.Serialize.html +0 -1
  953. package/docs/functions/Int64ArrayProperty.Parse.html +0 -1
  954. package/docs/functions/Int64ArrayProperty.Serialize.html +0 -1
  955. package/docs/functions/Int64Property.CalcOverhead.html +0 -1
  956. package/docs/functions/Int8Property.CalcOverhead.html +0 -1
  957. package/docs/functions/Level.ReadAllObjectContents.html +0 -1
  958. package/docs/functions/Level.ReadAllObjectHeaders.html +0 -1
  959. package/docs/functions/Level.ReadLevel.html +0 -1
  960. package/docs/functions/Level.ReadNObjectContents.html +0 -1
  961. package/docs/functions/Level.ReadNObjectHeaders.html +0 -1
  962. package/docs/functions/Level.SerializeAllObjectContents.html +0 -1
  963. package/docs/functions/Level.SerializeAllObjectHeaders.html +0 -1
  964. package/docs/functions/Level.SerializeLevel.html +0 -1
  965. package/docs/functions/MapProperty.CalcOverhead.html +0 -1
  966. package/docs/functions/ObjectArrayProperty.Parse.html +0 -1
  967. package/docs/functions/ObjectArrayProperty.Serialize.html +0 -1
  968. package/docs/functions/ObjectProperty.CalcOverhead.html +0 -1
  969. package/docs/functions/ObjectSetProperty.Parse.html +0 -1
  970. package/docs/functions/ObjectSetProperty.Serialize.html +0 -1
  971. package/docs/functions/SetProperty.CalcOverhead.html +0 -1
  972. package/docs/functions/SoftObjectArrayProperty.Parse.html +0 -1
  973. package/docs/functions/SoftObjectArrayProperty.Serialize.html +0 -1
  974. package/docs/functions/SoftObjectProperty.CalcOverhead.html +0 -1
  975. package/docs/functions/StrArrayProperty.Parse.html +0 -1
  976. package/docs/functions/StrArrayProperty.Serialize.html +0 -1
  977. package/docs/functions/StrProperty.CalcOverhead.html +0 -1
  978. package/docs/functions/StrSetProperty.Parse.html +0 -1
  979. package/docs/functions/StrSetProperty.Serialize.html +0 -1
  980. package/docs/functions/StructArrayProperty.Parse.html +0 -1
  981. package/docs/functions/StructArrayProperty.Serialize.html +0 -1
  982. package/docs/functions/StructProperty.CalcOverhead.html +0 -1
  983. package/docs/functions/StructSetProperty.Parse.html +0 -1
  984. package/docs/functions/StructSetProperty.Serialize.html +0 -1
  985. package/docs/functions/TextArrayProperty.Parse.html +0 -1
  986. package/docs/functions/TextArrayProperty.Serialize.html +0 -1
  987. package/docs/functions/TextProperty.CalcOverhead.html +0 -1
  988. package/docs/functions/Uint32Property.CalcOverhead.html +0 -1
  989. package/docs/functions/Uint32SetProperty.Parse.html +0 -1
  990. package/docs/functions/Uint32SetProperty.Serialize.html +0 -1
  991. package/docs/functions/Uint64Property.CalcOverhead.html +0 -1
  992. package/docs/functions/Uint8Property.CalcOverhead.html +0 -1
  993. package/docs/functions/isBoolArrayProperty.html +0 -1
  994. package/docs/functions/isByteArrayProperty.html +0 -1
  995. package/docs/functions/isDoubleArrayProperty.html +0 -1
  996. package/docs/functions/isEnumArrayProperty.html +0 -1
  997. package/docs/functions/isFloatArrayProperty.html +0 -1
  998. package/docs/functions/isInt32ArrayProperty.html +0 -1
  999. package/docs/functions/isInt32Property.html +0 -1
  1000. package/docs/functions/isInt32SetProperty.html +0 -1
  1001. package/docs/functions/isInt64ArrayProperty.html +0 -1
  1002. package/docs/functions/isObjectArrayProperty.html +0 -1
  1003. package/docs/functions/isObjectSetProperty.html +0 -1
  1004. package/docs/functions/isSoftObjectArrayProperty.html +0 -1
  1005. package/docs/functions/isStrArrayProperty.html +0 -1
  1006. package/docs/functions/isStrSetProperty.html +0 -1
  1007. package/docs/functions/isStructArrayProperty.html +0 -1
  1008. package/docs/functions/isStructSetProperty.html +0 -1
  1009. package/docs/functions/isTextArrayProperty.html +0 -1
  1010. package/docs/functions/isUint32SetProperty.html +0 -1
  1011. package/docs/interfaces/BlueprintConfig-1.html +0 -8
  1012. package/docs/modules/BoolArrayProperty.html +0 -3
  1013. package/docs/modules/ByteArrayProperty.html +0 -3
  1014. package/docs/modules/DoubleArrayProperty.html +0 -3
  1015. package/docs/modules/EnumArrayProperty.html +0 -3
  1016. package/docs/modules/FloatArrayProperty.html +0 -3
  1017. package/docs/modules/GUIDInfo.html +0 -3
  1018. package/docs/modules/Int32ArrayProperty.html +0 -3
  1019. package/docs/modules/Int32Property.html +0 -6
  1020. package/docs/modules/Int32SetProperty.html +0 -3
  1021. package/docs/modules/Int64ArrayProperty.html +0 -3
  1022. package/docs/modules/ObjectArrayProperty.html +0 -3
  1023. package/docs/modules/ObjectSetProperty.html +0 -3
  1024. package/docs/modules/SoftObjectArrayProperty.html +0 -3
  1025. package/docs/modules/StrArrayProperty.html +0 -3
  1026. package/docs/modules/StrSetProperty.html +0 -3
  1027. package/docs/modules/StructArrayProperty.html +0 -3
  1028. package/docs/modules/StructSetProperty.html +0 -3
  1029. package/docs/modules/TextArrayProperty.html +0 -3
  1030. package/docs/modules/Uint32SetProperty.html +0 -3
  1031. package/docs/types/AbstractBaseProperty-1.html +0 -7
  1032. package/docs/types/ArrayProperty.AvailableArrayPropertyTypes.html +0 -1
  1033. package/docs/types/ArrayPropertyStructValueFields.html +0 -1
  1034. package/docs/types/BlueprintHeader-1.html +0 -1
  1035. package/docs/types/BoolArrayProperty-1.html +0 -1
  1036. package/docs/types/BoolProperty-1.html +0 -1
  1037. package/docs/types/BuildableSubsystemSpecialProperties-1.html +0 -1
  1038. package/docs/types/BuildableTypeInstance-1.html +0 -1
  1039. package/docs/types/ByteArrayProperty-1.html +0 -1
  1040. package/docs/types/ByteProperty-1.html +0 -1
  1041. package/docs/types/CircuitSpecialProperties-1.html +0 -1
  1042. package/docs/types/ConveyorChainActorSpecialProperties-1.html +0 -1
  1043. package/docs/types/ConveyorSpecialProperties-1.html +0 -1
  1044. package/docs/types/DoubleArrayProperty-1.html +0 -1
  1045. package/docs/types/DoubleProperty-1.html +0 -1
  1046. package/docs/types/DynamicStructPropertyValue-1.html +0 -1
  1047. package/docs/types/EmptySpecialProperties-1.html +0 -1
  1048. package/docs/types/EnumArrayProperty-1.html +0 -1
  1049. package/docs/types/EnumProperty-1.html +0 -1
  1050. package/docs/types/FClientIdentityInfo-1.html +0 -2
  1051. package/docs/types/FColor-1.html +0 -2
  1052. package/docs/types/FGDynamicStruct-1.html +0 -6
  1053. package/docs/types/FICFrameRange-1.html +0 -1
  1054. package/docs/types/FINGPUT1BufferPixel-1.html +0 -1
  1055. package/docs/types/FINItemStateFileSystem-1.html +0 -2
  1056. package/docs/types/FINNetworkTrace-1.html +0 -1
  1057. package/docs/types/FLBBalancerIndexing-1.html +0 -2
  1058. package/docs/types/FLinearColor-1.html +0 -2
  1059. package/docs/types/FloatArrayProperty-1.html +0 -1
  1060. package/docs/types/FloatProperty-1.html +0 -1
  1061. package/docs/types/GUID-1.html +0 -2
  1062. package/docs/types/GUIDInfo-1.html +0 -2
  1063. package/docs/types/Int32ArrayProperty-1.html +0 -1
  1064. package/docs/types/Int32Property-1.html +0 -1
  1065. package/docs/types/Int32SetProperty-1.html +0 -1
  1066. package/docs/types/Int64ArrayProperty-1.html +0 -1
  1067. package/docs/types/Int64Property-1.html +0 -1
  1068. package/docs/types/Int8Property-1.html +0 -1
  1069. package/docs/types/Level-1.html +0 -2
  1070. package/docs/types/LevelToDestroyedActorsMap-1.html +0 -1
  1071. package/docs/types/MAP_STRUCT_PROXY.html +0 -1
  1072. package/docs/types/MD5Hash-1.html +0 -2
  1073. package/docs/types/MapProperty-1.html +0 -1
  1074. package/docs/types/ObjectArrayProperty-1.html +0 -1
  1075. package/docs/types/ObjectProperty-1.html +0 -1
  1076. package/docs/types/ObjectReference-1.html +0 -2
  1077. package/docs/types/ObjectSetProperty-1.html +0 -1
  1078. package/docs/types/ObjectsListSpecialProperties-1.html +0 -1
  1079. package/docs/types/PlayerSpecialProperties-1.html +0 -1
  1080. package/docs/types/PowerLineSpecialProperties-1.html +0 -1
  1081. package/docs/types/SatisfactorySaveHeader-1.html +0 -1
  1082. package/docs/types/SaveBodyChunks-1.html +0 -1
  1083. package/docs/types/SaveBodyValidation-1.html +0 -1
  1084. package/docs/types/SetProperty.AvailableSetPropertyTypes.html +0 -1
  1085. package/docs/types/SoftObjectArrayProperty-1.html +0 -1
  1086. package/docs/types/SoftObjectProperty-1.html +0 -1
  1087. package/docs/types/SoftObjectReference-1.html +0 -1
  1088. package/docs/types/SpecialDroneActionProperties-1.html +0 -1
  1089. package/docs/types/StrArrayProperty-1.html +0 -1
  1090. package/docs/types/StrProperty-1.html +0 -1
  1091. package/docs/types/StrSetProperty-1.html +0 -1
  1092. package/docs/types/StructArrayProperty-1.html +0 -1
  1093. package/docs/types/StructProperty-1.html +0 -1
  1094. package/docs/types/StructSetProperty-1.html +0 -1
  1095. package/docs/types/TextArrayProperty-1.html +0 -1
  1096. package/docs/types/TextProperty-1.html +0 -1
  1097. package/docs/types/Transform-1.html +0 -2
  1098. package/docs/types/Uint32Property-1.html +0 -1
  1099. package/docs/types/Uint32SetProperty-1.html +0 -1
  1100. package/docs/types/Uint64Property-1.html +0 -1
  1101. package/docs/types/Uint8Property-1.html +0 -1
  1102. package/docs/types/VehiclePhysicsData-1.html +0 -1
  1103. package/docs/types/VehicleSpecialProperties-1.html +0 -1
  1104. package/docs/types/col4-1.html +0 -2
  1105. package/docs/types/vec2-1.html +0 -2
  1106. package/docs/types/vec3-1.html +0 -2
  1107. package/docs/types/vec4-1.html +0 -2
@@ -2,17 +2,36 @@
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.ReadableStreamParser = void 0;
5
- const web_1 = require("stream/web");
5
+ const hierarchical_version_context_1 = require("../../context/hierarchical-version-context");
6
6
  const parser_error_1 = require("../../error/parser.error");
7
- const level_1 = require("../../satisfactory/save/level");
7
+ const data_blob_1 = require("../../satisfactory/save/data-blob");
8
8
  const level_to_destroyed_actors_map_1 = require("../../satisfactory/save/level-to-destroyed-actors-map");
9
9
  const object_references_list_1 = require("../../satisfactory/save/object-references-list");
10
10
  const satisfactory_save_1 = require("../../satisfactory/save/satisfactory-save");
11
11
  const satisfactory_save_header_1 = require("../../satisfactory/save/satisfactory-save-header");
12
12
  const save_custom_version_1 = require("../../satisfactory/save/save-custom-version");
13
13
  const save_reader_1 = require("../../satisfactory/save/save-reader");
14
+ const toc_blob_1 = require("../../satisfactory/save/toc-blob");
14
15
  const ObjectReference_1 = require("../../satisfactory/types/structs/ObjectReference");
15
16
  const SaveBodyValidation_1 = require("../../satisfactory/types/structs/SaveBodyValidation");
17
+ const FSaveObjectVersionData_1 = require("../../satisfactory/types/structs/binary/FSaveObjectVersionData");
18
+ const streamWeb = (() => {
19
+ try {
20
+ return require('stream/web');
21
+ }
22
+ catch {
23
+ try {
24
+ return require('web-streams-polyfill');
25
+ }
26
+ catch {
27
+ return {
28
+ ReadableStream: globalThis.ReadableStream,
29
+ QueuingStrategy: globalThis.QueuingStrategy,
30
+ ReadableStreamDefaultController: globalThis.ReadableStreamDefaultController
31
+ };
32
+ }
33
+ }
34
+ })();
16
35
  const DEFAULT_BYTE_HIGHWATERMARK = 1024 * 1024 * 200;
17
36
  const createStringLengthQueuingStrategy = (highWaterMark = DEFAULT_BYTE_HIGHWATERMARK / 4) => ({
18
37
  highWaterMark,
@@ -59,52 +78,77 @@ class ReadableStreamParser {
59
78
  let destroyedActorsMap = {};
60
79
  for (let j = 0; j <= levelCount; j++) {
61
80
  let levelName = (j === levelCount) ? '' + mapName : reader.readString();
81
+ const level = {
82
+ name: levelName,
83
+ objects: [],
84
+ collectables: [],
85
+ writesDestroyedActorsInTOCBlob: false
86
+ };
62
87
  const isPersistentLevel = levelName === mapName;
63
88
  if (j % 500 === 0) {
64
89
  reader.onProgressCallback(reader.getBufferProgress(), `reading level [${(j + 1)}/${(levelCount + 1)}] ${levelName}`);
65
90
  }
66
- await write(`${j > 0 ? ', ' : ''}"${levelName}": {"name": "${levelName}", "objects": [`, false);
67
- const headersBinLen = reader.readInt32();
68
- if (reader.context.saveVersion >= save_custom_version_1.SaveCustomVersion.UnrealEngine5) {
69
- reader.readInt32Zero();
91
+ await write(`${j > 0 ? ', ' : ''}"${levelName}": {"name": "${levelName}",`, false);
92
+ const tocBlobMarker = toc_blob_1.TOCBlob.SkipOver(reader);
93
+ const dataBlobMarker = data_blob_1.DataBlob.SkipOver(reader);
94
+ if (!isPersistentLevel) {
95
+ if (reader.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.SerializePerStreamableLevelTOCVersion) {
96
+ level.saveCustomVersion = reader.readInt32();
97
+ await write(`"saveCustomVersion": ${level.saveCustomVersion},`, false);
98
+ }
99
+ }
100
+ if (isPersistentLevel) {
101
+ const destroyedActorsMap = level_to_destroyed_actors_map_1.LevelToDestroyedActorsMap.read(reader);
102
+ await write(`"destroyedActorsMap": ${JSON.stringify(destroyedActorsMap)},`, false);
103
+ }
104
+ else {
105
+ level.collectables = object_references_list_1.ObjectReferencesList.ReadList(reader);
106
+ if (reader.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {
107
+ const shouldSerializePerObjectVersionData = reader.readInt32() >= 1;
108
+ if (shouldSerializePerObjectVersionData) {
109
+ level.objectVersionData = FSaveObjectVersionData_1.FSaveObjectVersionData.read(reader);
110
+ await write(`"objectVersionData": ${JSON.stringify(level.objectVersionData)},`, false);
111
+ }
112
+ }
70
113
  }
71
- const posBeforeHeaders = reader.getBufferPosition();
72
- const afterAllHeaders = posBeforeHeaders + headersBinLen;
114
+ await write(`"collectables": [${level.collectables.map(obj => JSON.stringify(obj)).join(', ')}],`, false);
115
+ hierarchical_version_context_1.HierarchyVersion.SetOnLevel(reader.context.saveVersion, level.saveCustomVersion);
116
+ hierarchical_version_context_1.HierarchyVersion.SetOnLevel(reader.context.packageFileVersionUE5, level.objectVersionData?.packageFileVersion.ue5Version);
117
+ const endOfLevelPosition = reader.getBufferPosition();
118
+ await write(`"objects": [`, false);
119
+ reader.jumpTo(tocBlobMarker.position);
73
120
  let countObjectHeaders = reader.readInt32();
74
121
  let totalReadObjectsInLevel = 0;
75
122
  let writtenObjectsInLevel = 0;
76
123
  let afterHeadersOfBatch = reader.getBufferPosition();
77
124
  let afterObjectsOfBatch = -1;
78
125
  do {
79
- reader.skipBytes(afterHeadersOfBatch - reader.getBufferPosition());
126
+ reader.jumpTo(afterHeadersOfBatch);
80
127
  const objectCountToRead = Math.min(countObjectHeaders - totalReadObjectsInLevel, batchingSizeOfObjects);
81
- const objects = level_1.Level.ReadNObjectHeaders(reader, objectCountToRead);
128
+ const objects = toc_blob_1.TOCBlob.ReadNObjectHeaders(reader, objectCountToRead);
82
129
  afterHeadersOfBatch = reader.getBufferPosition();
83
130
  if (countObjectHeaders === totalReadObjectsInLevel + objects.length) {
84
- const bytesLeft = afterAllHeaders - reader.getBufferPosition();
85
- if (bytesLeft > 0) {
131
+ let remainingSize = tocBlobMarker.length - (reader.getBufferPosition() - tocBlobMarker.position);
132
+ if (remainingSize > 0) {
86
133
  if (isPersistentLevel) {
87
134
  destroyedActorsMap = level_to_destroyed_actors_map_1.LevelToDestroyedActorsMap.read(reader);
88
135
  }
89
136
  else {
90
137
  collectables = object_references_list_1.ObjectReferencesList.ReadList(reader);
91
138
  }
139
+ level.writesDestroyedActorsInTOCBlob = true;
92
140
  }
93
141
  }
94
142
  if (totalReadObjectsInLevel === 0) {
95
- reader.skipBytes(afterAllHeaders - reader.getBufferPosition());
96
- const objectContentsBinLen = reader.readInt32();
97
- if (reader.context.saveVersion >= save_custom_version_1.SaveCustomVersion.UnrealEngine5) {
98
- reader.readInt32Zero();
99
- }
143
+ reader.jumpTo(dataBlobMarker.position);
100
144
  const posBeforeContents = reader.getBufferPosition();
101
145
  const countEntities = reader.readInt32();
102
146
  afterObjectsOfBatch = reader.getBufferPosition();
103
147
  }
104
148
  else {
105
- reader.skipBytes(afterObjectsOfBatch - reader.getBufferPosition());
149
+ reader.jumpTo(afterObjectsOfBatch);
106
150
  }
107
- level_1.Level.ReadNObjectContents(reader, objectCountToRead, objects, 0);
151
+ data_blob_1.DataBlob.ReadNObjectContents(reader, objectCountToRead, objects, 0);
108
152
  afterObjectsOfBatch = reader.getBufferPosition();
109
153
  totalReadObjectsInLevel += objectCountToRead;
110
154
  if (countObjectHeaders > 10000 && totalReadObjectsInLevel % 10000 === 0) {
@@ -120,22 +164,8 @@ class ReadableStreamParser {
120
164
  writtenObjectsInLevel += objectCountToRead;
121
165
  } while (totalReadObjectsInLevel < countObjectHeaders);
122
166
  await write('], ', false);
123
- if (!isPersistentLevel) {
124
- if (reader.context.saveVersion >= save_custom_version_1.SaveCustomVersion.SerializePerStreamableLevelTOCVersion) {
125
- const saveCustomVersion = reader.readInt32();
126
- await write(`"saveCustomVersion": ${saveCustomVersion}, `, false);
127
- }
128
- }
129
- if (isPersistentLevel) {
130
- destroyedActorsMap = level_to_destroyed_actors_map_1.LevelToDestroyedActorsMap.read(reader);
131
- await write(`"destroyedActorsMap": ${JSON.stringify(destroyedActorsMap)}, `, false);
132
- }
133
- await write('"collectables": [', false);
134
- if (!isPersistentLevel) {
135
- collectables = object_references_list_1.ObjectReferencesList.ReadList(reader);
136
- }
137
- await write(`${collectables.map(obj => JSON.stringify(obj)).join(', ')}`, true);
138
- await write(']', false);
167
+ await write(`"writesDestroyedActorsInTOCBlob": ${JSON.stringify(level.writesDestroyedActorsInTOCBlob)}`, false);
168
+ reader.jumpTo(endOfLevelPosition);
139
169
  await write('}', false);
140
170
  }
141
171
  }
@@ -144,7 +174,7 @@ exports.ReadableStreamParser = ReadableStreamParser;
144
174
  _a = ReadableStreamParser;
145
175
  ReadableStreamParser.CreateReadableStreamForParsingSave = (onStart, onCancel, onPullRequest, highWaterMark = DEFAULT_BYTE_HIGHWATERMARK / 4) => {
146
176
  let ourController = null;
147
- const stream = new web_1.ReadableStream({
177
+ const stream = new streamWeb.ReadableStream({
148
178
  start: (controller) => {
149
179
  ourController = controller;
150
180
  onStart(ourController);
@@ -188,7 +218,7 @@ ReadableStreamParser.CreateReadableStreamFromSaveToJson = (name, bytes, options)
188
218
  const reader = new save_reader_1.SaveReader(bytes, options?.onProgress);
189
219
  const header = satisfactory_save_header_1.SatisfactorySaveHeader.Parse(reader);
190
220
  const save = new satisfactory_save_1.SatisfactorySave(name, header);
191
- const roughSaveVersion = save_reader_1.SaveReader.GetRoughSaveVersion(header.saveVersion);
221
+ const roughSaveVersion = save_reader_1.SaveReader.GetApproximateSaveVersion(header.saveVersion);
192
222
  if (roughSaveVersion === '<U6') {
193
223
  throw new parser_error_1.UnsupportedVersionError('Game Version < U6 is not supported in the parser. Please save the file in a newer game version.');
194
224
  }
@@ -197,11 +227,19 @@ ReadableStreamParser.CreateReadableStreamFromSaveToJson = (name, bytes, options)
197
227
  if (options?.onDecompressedSaveBody !== undefined) {
198
228
  options.onDecompressedSaveBody(reader.getBuffer());
199
229
  }
230
+ if (reader.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.UnrealEngine5) {
231
+ reader.readInt32();
232
+ }
233
+ let saveObjectVersionData = save.objectVersionData;
234
+ if (reader.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {
235
+ saveObjectVersionData = FSaveObjectVersionData_1.FSaveObjectVersionData.read(reader);
236
+ reader.context.packageFileVersionUE5 = hierarchical_version_context_1.HierarchyVersion.CreateOnHeader(saveObjectVersionData.packageFileVersion.ue5Version);
237
+ }
200
238
  let saveBodyValidation = save.saveBodyValidation;
201
- if (reader.context.saveVersion >= save_custom_version_1.SaveCustomVersion.IntroducedWorldPartition) {
239
+ if (reader.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.IntroducedWorldPartition) {
202
240
  saveBodyValidation = SaveBodyValidation_1.SaveBodyValidation.Parse(reader);
203
241
  }
204
- await _a.WriteHeaderAndSaveBodyValidation(write, name, inflateResult.compressionInfo, header, saveBodyValidation);
242
+ await _a.WriteHeaderAndFieldsBeforeLevel(write, name, inflateResult.compressionInfo, header, saveBodyValidation, saveObjectVersionData);
205
243
  await _a.ReadWriteLevels(write, reader, save.header.mapName, save.header.buildVersion);
206
244
  await write(`}`, false);
207
245
  if (reader.getBufferPosition() < reader.getBufferLength()) {
@@ -214,9 +252,6 @@ ReadableStreamParser.CreateReadableStreamFromSaveToJson = (name, bytes, options)
214
252
  await write(`, "unresolvedWorldSaveData": ${JSON.stringify(save.unresolvedWorldSaveData)} `, false);
215
253
  }
216
254
  }
217
- if (save.name !== undefined) {
218
- await write(`, "name": "${save.name}" `, false);
219
- }
220
255
  if (options?.onProgress !== undefined) {
221
256
  options.onProgress(1, 'finished parsing.');
222
257
  }
@@ -225,7 +260,10 @@ ReadableStreamParser.CreateReadableStreamFromSaveToJson = (name, bytes, options)
225
260
  };
226
261
  return { stream, startStreaming };
227
262
  };
228
- ReadableStreamParser.WriteHeaderAndSaveBodyValidation = async (write, name, compressionInfo, header, saveBodyValidation) => {
229
- return write(`{"header": ${JSON.stringify(header)}, "name": "${name}", "compressionInfo": ${JSON.stringify(compressionInfo)}, "saveBodyValidation": ${JSON.stringify(saveBodyValidation)}, "levels": {`, false);
263
+ ReadableStreamParser.WriteHeaderAndFieldsBeforeLevel = async (write, name, compressionInfo, header, saveBodyValidation, saveObjectVersionData) => {
264
+ const compressionInfoEntry = `"compressionInfo": ${JSON.stringify(compressionInfo)}`;
265
+ const saveBodyValidationEntry = saveBodyValidation !== undefined ? `, "saveBodyValidation": ${JSON.stringify(saveBodyValidation)}` : '';
266
+ const saveObjectVersionDataEntry = saveObjectVersionData !== undefined ? `, "objectVersionData": ${JSON.stringify(saveObjectVersionData)}` : '';
267
+ return write(`{"header": ${JSON.stringify(header)}, "name": "${name}", ${compressionInfoEntry}${saveBodyValidationEntry}${saveObjectVersionDataEntry}, "levels": {`, false);
230
268
  };
231
269
  //# sourceMappingURL=readable-stream-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readable-stream-parser.js","sourceRoot":"","sources":["../../../../src/parser/stream/reworked/readable-stream-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { QueuingStrategy, ReadableStream, ReadableStreamDefaultController } from \"stream/web\";\nimport { UnsupportedVersionError } from '../../error/parser.error';\nimport { Level } from '../../satisfactory/save/level';\nimport { LevelToDestroyedActorsMap } from '../../satisfactory/save/level-to-destroyed-actors-map';\nimport { ObjectReferencesList } from '../../satisfactory/save/object-references-list';\nimport { SatisfactorySave } from \"../../satisfactory/save/satisfactory-save\";\nimport { SatisfactorySaveHeader } from '../../satisfactory/save/satisfactory-save-header';\nimport { ChunkCompressionInfo } from \"../../satisfactory/save/save-body-chunks\";\nimport { SaveCustomVersion } from '../../satisfactory/save/save-custom-version';\nimport { SaveReader } from '../../satisfactory/save/save-reader';\nimport { ObjectReference } from '../../satisfactory/types/structs/ObjectReference';\nimport { SaveBodyValidation } from \"../../satisfactory/types/structs/SaveBodyValidation\";\n\nconst DEFAULT_BYTE_HIGHWATERMARK = 1024 * 1024 * 200;\t// 200MiB\nconst createStringLengthQueuingStrategy = (highWaterMark: number = DEFAULT_BYTE_HIGHWATERMARK / 4): QueuingStrategy<string> => ({\n\thighWaterMark,\n\tsize: (chunk: string | undefined) => {\n\t\tif (chunk === undefined) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn chunk.length;\n\t}\n});\n\nclass SimpleWaitForConsumerLock {\n\tlocked: boolean = false;\n\tunlockWasCalledInTheMeantime: boolean = false;\n\texecutionFn: (() => void) | undefined = undefined;\n\n\t/** activate lock and set function to execute on unlock.\n\t * If at least 1 unlock was called before this call, immediately unlock.\n\t */\n\tpublic lock(executionFn: () => void) {\n\t\tthis.executionFn = executionFn;\n\t\tthis.locked = true;\n\t\tif (this.unlockWasCalledInTheMeantime) {\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\t/**\n\t * unlock and execute stored function if present.\n\t */\n\tpublic unlock() {\n\t\tthis.locked = false;\n\t\tif (this.executionFn) {\n\t\t\tthis.executionFn();\n\t\t\tthis.executionFn = undefined;\n\t\t} else {\n\t\t\tthis.unlockWasCalledInTheMeantime = true;\n\t\t}\n\t}\n};\n\n/**\n * Creates a ReadableStream from Binary file, that actually waits until the reading operator has caught up before it pushes more.\n */\nexport class ReadableStreamParser {\n\n\tprivate static CreateReadableStreamForParsingSave = (\n\t\tonStart: (controller: ReadableStreamDefaultController<string>) => void,\n\t\tonCancel: (reason: any) => void,\n\t\tonPullRequest: (desiredSize: number) => void,\n\t\thighWaterMark = DEFAULT_BYTE_HIGHWATERMARK / 4\n\t) => {\n\t\tlet ourController: ReadableStreamDefaultController<string> | null = null;\n\t\tconst stream = new ReadableStream<string>({\n\t\t\tstart: (controller: ReadableStreamDefaultController<string>) => {\n\t\t\t\tourController = controller;\n\t\t\t\tonStart(ourController);\n\t\t\t},\n\t\t\tpull: (controller: ReadableStreamDefaultController<string>) => {\n\t\t\t\tonPullRequest(ourController!.desiredSize ?? 1);\n\t\t\t},\n\t\t\tcancel: (reason) => {\n\t\t\t\tconsole.warn('parsing stream was canceled!', reason);\n\t\t\t\tif (ourController !== null) {\n\t\t\t\t\tourController.close();\n\t\t\t\t}\n\t\t\t\tonCancel(reason);\n\t\t\t}\n\t\t}, createStringLengthQueuingStrategy(highWaterMark));\n\n\t\t// create handle to close source.\n\t\tconst finish = () => {\n\t\t\tif (ourController !== null) {\n\t\t\t\tourController?.close();\n\t\t\t}\n\t\t}\n\n\t\treturn { stream, controller: ourController!, finish };\n\t};\n\n\t/**\n\t * the more elegant way to parse saves, instead of using the plain ParseSave. Since streaming will not hold the converted JSON in memory at once.\n\t * @param name the save name\n\t * @param bytes the save file as UInt8Array\n\t * @param onDecompressedSaveBody a callback to report back on the decompressed binary save body.\n\t * @param onProgress a callback to report back on the parsing progress. Optionally contains a message.\n\t * @returns a WHATWG compliant readable stream of strings (They are valid JSON and represent a {@link SatisfactorySave} object). And a method to actually start the streaming for more precise control.\n\t */\n\tpublic static CreateReadableStreamFromSaveToJson = (\n\t\tname: string,\n\t\tbytes: ArrayBufferLike,\n\t\toptions?: Partial<{\n\t\t\tonDecompressedSaveBody: (buffer: ArrayBufferLike) => void,\n\t\t\tonProgress: (progress: number, message?: string) => void\n\t\t}>\n\t): { stream: ReadableStream<string>, startStreaming: () => Promise<void> } => {\n\n\t\t// create a simple lock to sync with consumer of the stream. Aka handle backpressure.\n\t\tconst waitForConsumerLock = new SimpleWaitForConsumerLock();\n\t\tconst waitForConsumer = async () => {\n\t\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\t\twaitForConsumerLock.lock(resolve);\n\t\t\t});\n\t\t}\n\n\t\tconst { stream, controller, finish } = ReadableStreamParser.CreateReadableStreamForParsingSave(\n\t\t\t(controller) => {\n\t\t\t\t//startStreaming();\n\t\t\t},\n\t\t\t(reason) => { },\n\t\t\t(desiredSize) => {\n\t\t\t\t// consumer (to be more correct, the internal buffer!) is ready, unlock syncing lock.\n\t\t\t\twaitForConsumerLock.unlock();\n\t\t\t},\n\t\t);\n\n\t\t/**\n\t\t * pushes a value into the readable stream. Optionally waits for the \"pull\" signal of the stream before writing.\n\t\t * @param value the value to write\n\t\t * @param waitForConsumerToBeReady whether the process should wait until the \"pull\" signal of the stream.\n\t\t */\n\t\tconst write = async (value: string, waitForConsumerToBeReady = true): Promise<void> => {\n\t\t\tif (waitForConsumerToBeReady) {\n\t\t\t\tawait waitForConsumer();\n\t\t\t}\n\t\t\tcontroller.enqueue(value);\n\t\t}\n\n\t\tconst startStreaming = async (): Promise<void> => {\n\n\t\t\tconst reader = new SaveReader(bytes, options?.onProgress);\n\n\t\t\t// read header\n\t\t\tconst header = SatisfactorySaveHeader.Parse(reader);\n\t\t\tconst save = new SatisfactorySave(name, header);\n\n\t\t\t// guard save version\n\t\t\tconst roughSaveVersion = SaveReader.GetRoughSaveVersion(header.saveVersion);\n\t\t\tif (roughSaveVersion === '<U6') {\n\t\t\t\tthrow new UnsupportedVersionError('Game Version < U6 is not supported in the parser. Please save the file in a newer game version.');\n\t\t\t}\n\n\t\t\t// inflate chunks\n\t\t\tconst inflateResult = reader.inflateChunks();\n\t\t\tsave.compressionInfo = inflateResult.compressionInfo;\n\n\t\t\t// call callback on decompressed save body\n\t\t\tif (options?.onDecompressedSaveBody !== undefined) {\n\t\t\t\toptions.onDecompressedSaveBody(reader.getBuffer());\n\t\t\t}\n\n\t\t\tlet saveBodyValidation = save.saveBodyValidation;\n\t\t\tif (reader.context.saveVersion >= SaveCustomVersion.IntroducedWorldPartition) {\n\t\t\t\tsaveBodyValidation = SaveBodyValidation.Parse(reader);\n\t\t\t}\n\n\t\t\tawait ReadableStreamParser.WriteHeaderAndSaveBodyValidation(write, name, inflateResult.compressionInfo, header, saveBodyValidation);\n\n\t\t\t// parse levels\n\t\t\tawait ReadableStreamParser.ReadWriteLevels(write, reader, save.header.mapName, save.header.buildVersion);\n\t\t\tawait write(`}`, false);\n\n\t\t\t// unresolved data\n\t\t\tif (reader.getBufferPosition() < reader.getBufferLength()) {\n\t\t\t\tconst countUnresolvedWorldSaveData = reader.readInt32();\n\t\t\t\tif (countUnresolvedWorldSaveData) {\n\t\t\t\t\tsave.unresolvedWorldSaveData = [];\n\t\t\t\t\tfor (let i = 0; i < countUnresolvedWorldSaveData; i++) {\n\t\t\t\t\t\tsave.unresolvedWorldSaveData.push(ObjectReference.read(reader));\n\t\t\t\t\t}\n\t\t\t\t\tawait write(`, \"unresolvedWorldSaveData\": ${JSON.stringify(save.unresolvedWorldSaveData)} `, false);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (save.name !== undefined) {\n\t\t\t\tawait write(`, \"name\": \"${save.name}\" `, false);\n\t\t\t}\n\n\t\t\tif (options?.onProgress !== undefined) {\n\t\t\t\toptions.onProgress(1, 'finished parsing.');\n\t\t\t}\n\n\t\t\t// close save object.\n\t\t\tawait write(`}`, true);\n\t\t\tfinish();\n\t\t};\n\n\t\treturn { stream, startStreaming };\n\t}\n\n\n\tprivate static WriteHeaderAndSaveBodyValidation = async (\n\t\twrite: (value: string, waitTilConsumingEndIsReady?: boolean) => Promise<void>,\n\t\tname: string,\n\t\tcompressionInfo: ChunkCompressionInfo,\n\t\theader: SatisfactorySaveHeader,\n\t\tsaveBodyValidation: SaveBodyValidation\n\t) => {\n\t\treturn write(`{\"header\": ${JSON.stringify(header)}, \"name\": \"${name}\", \"compressionInfo\": ${JSON.stringify(compressionInfo)}, \"saveBodyValidation\": ${JSON.stringify(saveBodyValidation)}, \"levels\": {`, false);\n\t}\n\n\tprivate static async ReadWriteLevels(\n\t\twrite: (value: string, waitTilConsumingEndIsReady?: boolean) => Promise<void>,\n\t\treader: SaveReader,\n\t\tmapName: string,\n\t\tbuildVersion: number,\n\t): Promise<void> {\n\n\t\tconst batchingSizeOfObjects = 1000;\n\t\tconst thresholdOfWrittenObjectsUntilWaitingForConsumerAgain = 3 * batchingSizeOfObjects;\n\n\t\tconst levelCount = reader.readInt32();\n\t\treader.onProgressCallback(reader.getBufferProgress(), `reading pack of ${levelCount + 1} levels.`);\n\n\t\tlet writtenTotalObjectsSinceConsumerSync = 0;\n\t\tlet collectables: ObjectReference[] = [];\n\t\tlet destroyedActorsMap: LevelToDestroyedActorsMap = {};\n\t\tfor (let j = 0; j <= levelCount; j++) {\n\t\t\tlet levelName = (j === levelCount) ? '' + mapName : reader.readString();\n\t\t\tconst isPersistentLevel = levelName === mapName;\n\n\t\t\tif (j % 500 === 0) {\n\t\t\t\treader.onProgressCallback(reader.getBufferProgress(), `reading level [${(j + 1)}/${(levelCount + 1)}] ${levelName}`);\n\t\t\t}\n\n\t\t\t// we will intentionally NOT wait for next pull request, since these few characters don't make waiting useful.\n\t\t\tawait write(`${j > 0 ? ', ' : ''}\"${levelName}\": {\"name\": \"${levelName}\", \"objects\": [`, false);\n\n\n\t\t\t// object headers\n\t\t\tconst headersBinLen = reader.readInt32(); // object headers + destroyed colelctables\n\t\t\tif (reader.context.saveVersion >= SaveCustomVersion.UnrealEngine5) {\n\t\t\t\treader.readInt32Zero();\n\t\t\t}\n\n\t\t\tconst posBeforeHeaders = reader.getBufferPosition();\n\t\t\tconst afterAllHeaders = posBeforeHeaders + headersBinLen;\n\t\t\tlet countObjectHeaders = reader.readInt32();\n\n\t\t\tlet totalReadObjectsInLevel = 0;\n\t\t\tlet writtenObjectsInLevel = 0;\n\t\t\tlet afterHeadersOfBatch = reader.getBufferPosition();\t// at first no batch is read.\n\t\t\tlet afterObjectsOfBatch = -1;\n\n\t\t\tdo {\n\n\t\t\t\t// jump to after last read batch\n\t\t\t\treader.skipBytes(afterHeadersOfBatch - reader.getBufferPosition());\n\n\t\t\t\t// read batch\n\t\t\t\tconst objectCountToRead = Math.min(countObjectHeaders - totalReadObjectsInLevel, batchingSizeOfObjects);\n\t\t\t\tconst objects = Level.ReadNObjectHeaders(reader, objectCountToRead);\n\n\t\t\t\tafterHeadersOfBatch = reader.getBufferPosition();\n\n\n\t\t\t\t// after headers, there MAY be destroyed entities. don't have to.\n\t\t\t\t// But either way, we can safely ignore them.\n\t\t\t\tif (countObjectHeaders === totalReadObjectsInLevel + objects.length) {\n\t\t\t\t\tconst bytesLeft = afterAllHeaders - reader.getBufferPosition();\n\t\t\t\t\tif (bytesLeft > 0) {\n\t\t\t\t\t\tif (isPersistentLevel) {\n\t\t\t\t\t\t\tdestroyedActorsMap = LevelToDestroyedActorsMap.read(reader);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcollectables = ObjectReferencesList.ReadList(reader);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\n\t\t\t\tif (totalReadObjectsInLevel === 0) {\n\n\t\t\t\t\t// jump to after all headers\n\t\t\t\t\treader.skipBytes(afterAllHeaders - reader.getBufferPosition());\n\n\t\t\t\t\tconst objectContentsBinLen = reader.readInt32();\n\t\t\t\t\tif (reader.context.saveVersion >= SaveCustomVersion.UnrealEngine5) {\n\t\t\t\t\t\treader.readInt32Zero();\n\t\t\t\t\t}\n\n\t\t\t\t\tconst posBeforeContents = reader.getBufferPosition();\n\t\t\t\t\tconst countEntities = reader.readInt32();\n\t\t\t\t\tafterObjectsOfBatch = reader.getBufferPosition();\t// at first no batch is read.\n\t\t\t\t} else {\n\t\t\t\t\treader.skipBytes(afterObjectsOfBatch - reader.getBufferPosition());\n\t\t\t\t}\n\n\t\t\t\tLevel.ReadNObjectContents(reader, objectCountToRead, objects, 0);\n\t\t\t\tafterObjectsOfBatch = reader.getBufferPosition();\n\n\t\t\t\ttotalReadObjectsInLevel += objectCountToRead;\n\t\t\t\tif (countObjectHeaders > 10000 && totalReadObjectsInLevel % 10000 === 0) {\n\t\t\t\t\treader.onProgressCallback(reader.getBufferProgress(), `read object count [${(totalReadObjectsInLevel + 1)}/${(countObjectHeaders + 1)}] in level ${levelName}`);\n\t\t\t\t}\n\n\t\t\t\t// we should wait even if the objects of many levels accumulate to several hundred.\n\t\t\t\tlet shouldWait = false;\n\t\t\t\tif (writtenTotalObjectsSinceConsumerSync >= thresholdOfWrittenObjectsUntilWaitingForConsumerAgain) {\n\t\t\t\t\t// will wait til consumer catches up. Because we wrote ${writtenTotalObjectsSinceConsumerSync} objects without waiting.\n\t\t\t\t\tshouldWait = true;\n\t\t\t\t\twrittenTotalObjectsSinceConsumerSync = 0;\n\t\t\t\t}\n\t\t\t\tawait write(`${writtenObjectsInLevel > 0 ? ', ' : ''}${objects.filter(Boolean).map(obj => JSON.stringify(obj)).join(', ')}`, shouldWait);\n\t\t\t\twrittenTotalObjectsSinceConsumerSync += objectCountToRead;\n\t\t\t\twrittenObjectsInLevel += objectCountToRead;\n\n\t\t\t} while (totalReadObjectsInLevel < countObjectHeaders)\n\n\n\t\t\tawait write('], ', false);\n\n\t\t\t// only NOT in the persistent level, we have saveVersion\n\t\t\tif (!isPersistentLevel) {\n\t\t\t\tif (reader.context.saveVersion >= SaveCustomVersion.SerializePerStreamableLevelTOCVersion) {\n\t\t\t\t\tconst saveCustomVersion = reader.readInt32();\n\t\t\t\t\tawait write(`\"saveCustomVersion\": ${saveCustomVersion}, `, false);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// only in persistent level, we have LevelToDestroyedActorsMap\n\t\t\tif (isPersistentLevel) {\n\t\t\t\tdestroyedActorsMap = LevelToDestroyedActorsMap.read(reader);\n\t\t\t\tawait write(`\"destroyedActorsMap\": ${JSON.stringify(destroyedActorsMap)}, `, false);\n\t\t\t}\n\n\t\t\tawait write('\"collectables\": [', false);\n\n\t\t\t// only NOT in the persistent level, we have 2nd collectables.\n\t\t\tif (!isPersistentLevel) {\n\t\t\t\tcollectables = ObjectReferencesList.ReadList(reader);\n\t\t\t}\n\n\t\t\tawait write(`${collectables.map(obj => JSON.stringify(obj)).join(', ')}`, true);\n\n\t\t\tawait write(']', false);\n\t\t\tawait write('}', false);\n\t\t}\n\t}\n}"]}
1
+ {"version":3,"file":"readable-stream-parser.js","sourceRoot":"","sources":["../../../../src/parser/stream/reworked/readable-stream-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { HierarchyVersion } from \"../../context/hierarchical-version-context\";\nimport { UnsupportedVersionError } from '../../error/parser.error';\nimport { DataBlob } from \"../../satisfactory/save/data-blob\";\nimport { Level } from \"../../satisfactory/save/level\";\nimport { LevelToDestroyedActorsMap } from '../../satisfactory/save/level-to-destroyed-actors-map';\nimport { ObjectReferencesList } from '../../satisfactory/save/object-references-list';\nimport { SatisfactorySave } from \"../../satisfactory/save/satisfactory-save\";\nimport { SatisfactorySaveHeader } from '../../satisfactory/save/satisfactory-save-header';\nimport { ChunkCompressionInfo } from \"../../satisfactory/save/save-body-chunks\";\nimport { SaveCustomVersion } from '../../satisfactory/save/save-custom-version';\nimport { SaveReader } from '../../satisfactory/save/save-reader';\nimport { TOCBlob } from \"../../satisfactory/save/toc-blob\";\nimport { ObjectReference } from '../../satisfactory/types/structs/ObjectReference';\nimport { SaveBodyValidation } from \"../../satisfactory/types/structs/SaveBodyValidation\";\nimport { FSaveObjectVersionData } from \"../../satisfactory/types/structs/binary/FSaveObjectVersionData\";\n\ninterface StreamWeb {\n\tReadableStream: any;\n\tQueuingStrategy: any;\n\tReadableStreamDefaultController: any;\n}\n\nconst streamWeb: StreamWeb = (() => {\n\ttry {\n\t\treturn require('stream/web');\n\t} catch {\n\t\ttry {\n\t\t\treturn require('web-streams-polyfill');\n\t\t} catch {\n\t\t\treturn {\n\t\t\t\tReadableStream: (globalThis as any).ReadableStream as any,\n\t\t\t\tQueuingStrategy: (globalThis as any).QueuingStrategy as any,\n\t\t\t\tReadableStreamDefaultController: (globalThis as any).ReadableStreamDefaultController as any\n\t\t\t};\n\t\t}\n\t}\n})();\n\nconst DEFAULT_BYTE_HIGHWATERMARK = 1024 * 1024 * 200;\t// 200MiB\nconst createStringLengthQueuingStrategy = (highWaterMark: number = DEFAULT_BYTE_HIGHWATERMARK / 4): any => ({\n\thighWaterMark,\n\tsize: (chunk: string | undefined) => {\n\t\tif (chunk === undefined) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn chunk.length;\n\t}\n});\n\nclass SimpleWaitForConsumerLock {\n\tlocked: boolean = false;\n\tunlockWasCalledInTheMeantime: boolean = false;\n\texecutionFn: (() => void) | undefined = undefined;\n\n\t/** activate lock and set function to execute on unlock.\n\t * If at least 1 unlock was called before this call, immediately unlock.\n\t */\n\tpublic lock(executionFn: () => void) {\n\t\tthis.executionFn = executionFn;\n\t\tthis.locked = true;\n\t\tif (this.unlockWasCalledInTheMeantime) {\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\t/**\n\t * unlock and execute stored function if present.\n\t */\n\tpublic unlock() {\n\t\tthis.locked = false;\n\t\tif (this.executionFn) {\n\t\t\tthis.executionFn();\n\t\t\tthis.executionFn = undefined;\n\t\t} else {\n\t\t\tthis.unlockWasCalledInTheMeantime = true;\n\t\t}\n\t}\n};\n\n/**\n * Creates a ReadableStream from Binary file, that actually waits until the reading operator has caught up before it pushes more.\n */\nexport class ReadableStreamParser {\n\n\tprivate static CreateReadableStreamForParsingSave = (\n\t\tonStart: (controller: any) => void,\n\t\tonCancel: (reason: any) => void,\n\t\tonPullRequest: (desiredSize: number) => void,\n\t\thighWaterMark = DEFAULT_BYTE_HIGHWATERMARK / 4\n\t) => {\n\t\tlet ourController: any = null;\n\t\tconst stream = new (streamWeb.ReadableStream as any)({\n\t\t\tstart: (controller: any) => {\n\t\t\t\tourController = controller;\n\t\t\t\tonStart(ourController);\n\t\t\t},\n\t\t\tpull: (controller: any) => {\n\t\t\t\tonPullRequest(ourController!.desiredSize ?? 1);\n\t\t\t},\n\t\t\tcancel: (reason: any) => {\n\t\t\t\tconsole.warn('parsing stream was canceled!', reason);\n\t\t\t\tif (ourController !== null) {\n\t\t\t\t\tourController.close();\n\t\t\t\t}\n\t\t\t\tonCancel(reason);\n\t\t\t}\n\t\t}, createStringLengthQueuingStrategy(highWaterMark));\n\n\t\t// create handle to close source.\n\t\tconst finish = () => {\n\t\t\tif (ourController !== null) {\n\t\t\t\tourController?.close();\n\t\t\t}\n\t\t}\n\n\t\treturn { stream, controller: ourController!, finish };\n\t};\n\n\t/**\n\t * the more elegant way to parse saves, instead of using the plain ParseSave. Since streaming will not hold the converted JSON in memory at once.\n\t * @param name the save name\n\t * @param bytes the save file as UInt8Array\n\t * @param onDecompressedSaveBody a callback to report back on the decompressed binary save body.\n\t * @param onProgress a callback to report back on the parsing progress. Optionally contains a message.\n\t * @returns a WHATWG compliant readable stream of strings (They are valid JSON and represent a {@link SatisfactorySave} object). And a method to actually start the streaming for more precise control.\n\t */\n\tpublic static CreateReadableStreamFromSaveToJson = (\n\t\tname: string,\n\t\tbytes: ArrayBufferLike,\n\t\toptions?: Partial<{\n\t\t\tonDecompressedSaveBody: (buffer: ArrayBufferLike) => void,\n\t\t\tonProgress: (progress: number, message?: string) => void\n\t\t}>\n\t): { stream: any, startStreaming: () => Promise<void> } => {\n\n\t\t// create a simple lock to sync with consumer of the stream. Aka handle backpressure.\n\t\tconst waitForConsumerLock = new SimpleWaitForConsumerLock();\n\t\tconst waitForConsumer = async () => {\n\t\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\t\twaitForConsumerLock.lock(resolve);\n\t\t\t});\n\t\t}\n\n\t\tconst { stream, controller, finish } = ReadableStreamParser.CreateReadableStreamForParsingSave(\n\t\t\t(controller) => {\n\t\t\t\t//startStreaming();\n\t\t\t},\n\t\t\t(reason) => { },\n\t\t\t(desiredSize) => {\n\t\t\t\t// consumer (to be more correct, the internal buffer!) is ready, unlock syncing lock.\n\t\t\t\twaitForConsumerLock.unlock();\n\t\t\t},\n\t\t);\n\n\t\t/**\n\t\t * pushes a value into the readable stream. Optionally waits for the \"pull\" signal of the stream before writing.\n\t\t * @param value the value to write\n\t\t * @param waitForConsumerToBeReady whether the process should wait until the \"pull\" signal of the stream.\n\t\t */\n\t\tconst write = async (value: string, waitForConsumerToBeReady = true): Promise<void> => {\n\t\t\tif (waitForConsumerToBeReady) {\n\t\t\t\tawait waitForConsumer();\n\t\t\t}\n\t\t\tcontroller.enqueue(value);\n\t\t}\n\n\t\tconst startStreaming = async (): Promise<void> => {\n\n\t\t\tconst reader = new SaveReader(bytes, options?.onProgress);\n\n\t\t\t// read header\n\t\t\tconst header = SatisfactorySaveHeader.Parse(reader);\n\t\t\tconst save = new SatisfactorySave(name, header);\n\n\t\t\t// guard save version\n\t\t\tconst roughSaveVersion = SaveReader.GetApproximateSaveVersion(header.saveVersion);\n\t\t\tif (roughSaveVersion === '<U6') {\n\t\t\t\tthrow new UnsupportedVersionError('Game Version < U6 is not supported in the parser. Please save the file in a newer game version.');\n\t\t\t}\n\n\t\t\t// inflate chunks\n\t\t\tconst inflateResult = reader.inflateChunks();\n\t\t\tsave.compressionInfo = inflateResult.compressionInfo;\n\n\t\t\t// call callback on decompressed save body\n\t\t\tif (options?.onDecompressedSaveBody !== undefined) {\n\t\t\t\toptions.onDecompressedSaveBody(reader.getBuffer());\n\t\t\t}\n\n\t\t\t// might be padding?\n\t\t\tif (reader.context.saveVersion.header >= SaveCustomVersion.UnrealEngine5) {\n\t\t\t\treader.readInt32();\n\t\t\t}\n\n\t\t\t// read FSaveObjectVersionData\n\t\t\tlet saveObjectVersionData = save.objectVersionData;\n\t\t\tif (reader.context.saveVersion.header >= SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {\n\t\t\t\tsaveObjectVersionData = FSaveObjectVersionData.read(reader);\n\t\t\t\treader.context.packageFileVersionUE5 = HierarchyVersion.CreateOnHeader(saveObjectVersionData.packageFileVersion.ue5Version);\n\t\t\t}\n\n\t\t\t// world partition and validation\n\t\t\tlet saveBodyValidation = save.saveBodyValidation;\n\t\t\tif (reader.context.saveVersion.header >= SaveCustomVersion.IntroducedWorldPartition) {\n\t\t\t\tsaveBodyValidation = SaveBodyValidation.Parse(reader);\n\t\t\t}\n\t\t\tawait ReadableStreamParser.WriteHeaderAndFieldsBeforeLevel(write, name, inflateResult.compressionInfo, header, saveBodyValidation, saveObjectVersionData);\n\n\n\t\t\t// parse levels\n\t\t\tawait ReadableStreamParser.ReadWriteLevels(write, reader, save.header.mapName, save.header.buildVersion);\n\t\t\tawait write(`}`, false);\n\n\t\t\t// unresolved data\n\t\t\tif (reader.getBufferPosition() < reader.getBufferLength()) {\n\t\t\t\tconst countUnresolvedWorldSaveData = reader.readInt32();\n\t\t\t\tif (countUnresolvedWorldSaveData) {\n\t\t\t\t\tsave.unresolvedWorldSaveData = [];\n\t\t\t\t\tfor (let i = 0; i < countUnresolvedWorldSaveData; i++) {\n\t\t\t\t\t\tsave.unresolvedWorldSaveData.push(ObjectReference.read(reader));\n\t\t\t\t\t}\n\t\t\t\t\tawait write(`, \"unresolvedWorldSaveData\": ${JSON.stringify(save.unresolvedWorldSaveData)} `, false);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options?.onProgress !== undefined) {\n\t\t\t\toptions.onProgress(1, 'finished parsing.');\n\t\t\t}\n\n\t\t\t// close save object.\n\t\t\tawait write(`}`, true);\n\t\t\tfinish();\n\t\t};\n\n\t\treturn { stream, startStreaming };\n\t}\n\n\n\tprivate static WriteHeaderAndFieldsBeforeLevel = async (\n\t\twrite: (value: string, waitTilConsumingEndIsReady?: boolean) => Promise<void>,\n\t\tname: string,\n\t\tcompressionInfo: ChunkCompressionInfo,\n\t\theader: SatisfactorySaveHeader,\n\t\tsaveBodyValidation: SaveBodyValidation,\n\t\tsaveObjectVersionData?: FSaveObjectVersionData\n\t) => {\n\t\tconst compressionInfoEntry = `\"compressionInfo\": ${JSON.stringify(compressionInfo)}`;\n\t\tconst saveBodyValidationEntry = saveBodyValidation !== undefined ? `, \"saveBodyValidation\": ${JSON.stringify(saveBodyValidation)}` : '';\n\t\tconst saveObjectVersionDataEntry = saveObjectVersionData !== undefined ? `, \"objectVersionData\": ${JSON.stringify(saveObjectVersionData)}` : '';\n\t\treturn write(`{\"header\": ${JSON.stringify(header)}, \"name\": \"${name}\", ${compressionInfoEntry}${saveBodyValidationEntry}${saveObjectVersionDataEntry}, \"levels\": {`, false);\n\t}\n\n\tprivate static async ReadWriteLevels(\n\t\twrite: (value: string, waitTilConsumingEndIsReady?: boolean) => Promise<void>,\n\t\treader: SaveReader,\n\t\tmapName: string,\n\t\tbuildVersion: number,\n\t): Promise<void> {\n\n\t\tconst batchingSizeOfObjects = 1000;\n\t\tconst thresholdOfWrittenObjectsUntilWaitingForConsumerAgain = 3 * batchingSizeOfObjects;\n\n\t\tconst levelCount = reader.readInt32();\n\t\treader.onProgressCallback(reader.getBufferProgress(), `reading pack of ${levelCount + 1} levels.`);\n\n\t\tlet writtenTotalObjectsSinceConsumerSync = 0;\n\t\tlet collectables: ObjectReference[] = [];\n\t\tlet destroyedActorsMap: LevelToDestroyedActorsMap = {};\n\t\tfor (let j = 0; j <= levelCount; j++) {\n\t\t\tlet levelName = (j === levelCount) ? '' + mapName : reader.readString();\n\t\t\tconst level: Level = {\n\t\t\t\tname: levelName,\n\t\t\t\tobjects: [],\n\t\t\t\tcollectables: [],\n\t\t\t\twritesDestroyedActorsInTOCBlob: false\n\t\t\t}\n\t\t\tconst isPersistentLevel = levelName === mapName;\n\n\t\t\tif (j % 500 === 0) {\n\t\t\t\treader.onProgressCallback(reader.getBufferProgress(), `reading level [${(j + 1)}/${(levelCount + 1)}] ${levelName}`);\n\t\t\t}\n\t\t\tawait write(`${j > 0 ? ', ' : ''}\"${levelName}\": {\"name\": \"${levelName}\",`, false);\n\n\t\t\t// read blobs later\n\t\t\tconst tocBlobMarker = TOCBlob.SkipOver(reader);\n\t\t\tconst dataBlobMarker = DataBlob.SkipOver(reader);\n\n\t\t\t// save Version in Streaming level\n\t\t\tif (!isPersistentLevel) {\n\t\t\t\tif (reader.context.saveVersion.header >= SaveCustomVersion.SerializePerStreamableLevelTOCVersion) {\n\t\t\t\t\tlevel.saveCustomVersion = reader.readInt32();\n\t\t\t\t\tawait write(`\"saveCustomVersion\": ${level.saveCustomVersion},`, false);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// for persistent level, we have LevelToDestroyedActorsMap, else collectibles + object version data\n\t\t\t// 2nd appearance of destroyed actors / collectables. the lists are equal at both locations\n\t\t\tif (isPersistentLevel) {\n\t\t\t\tconst destroyedActorsMap = LevelToDestroyedActorsMap.read(reader);\n\t\t\t\tawait write(`\"destroyedActorsMap\": ${JSON.stringify(destroyedActorsMap)},`, false);\n\t\t\t} else {\n\t\t\t\tlevel.collectables = ObjectReferencesList.ReadList(reader);\n\n\t\t\t\tif (reader.context.saveVersion.header >= SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {\n\t\t\t\t\tconst shouldSerializePerObjectVersionData = reader.readInt32() >= 1;\n\t\t\t\t\tif (shouldSerializePerObjectVersionData) {\n\t\t\t\t\t\tlevel.objectVersionData = FSaveObjectVersionData.read(reader);\n\t\t\t\t\t\tawait write(`\"objectVersionData\": ${JSON.stringify(level.objectVersionData)},`, false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait write(`\"collectables\": [${level.collectables.map(obj => JSON.stringify(obj)).join(', ')}],`, false);\n\n\t\t\t// set appropriate version context.\n\t\t\tHierarchyVersion.SetOnLevel(reader.context.saveVersion, level.saveCustomVersion);\n\t\t\tHierarchyVersion.SetOnLevel(reader.context.packageFileVersionUE5, level.objectVersionData?.packageFileVersion.ue5Version);\n\n\t\t\t// jump back and read TOCBlob, DataBlob with accurate save version\n\t\t\tconst endOfLevelPosition = reader.getBufferPosition();\n\n\n\t\t\t// we will intentionally NOT wait for next pull request, since these few characters don't make waiting useful.\n\t\t\tawait write(`\"objects\": [`, false);\n\t\t\treader.jumpTo(tocBlobMarker.position);\n\n\n\t\t\t// we do the same as TOCBlob.read & DataBlob.read. but jumping back and forth between batches.\n\t\t\tlet countObjectHeaders = reader.readInt32();\n\t\t\tlet totalReadObjectsInLevel = 0;\n\t\t\tlet writtenObjectsInLevel = 0;\n\t\t\tlet afterHeadersOfBatch = reader.getBufferPosition();\t// at first no batch is read.\n\t\t\tlet afterObjectsOfBatch = -1;\n\n\t\t\tdo {\n\n\t\t\t\t// jump to after last read batch\n\t\t\t\treader.jumpTo(afterHeadersOfBatch);\n\n\t\t\t\t// read batch\n\t\t\t\tconst objectCountToRead = Math.min(countObjectHeaders - totalReadObjectsInLevel, batchingSizeOfObjects);\n\t\t\t\tconst objects = TOCBlob.ReadNObjectHeaders(reader, objectCountToRead);\n\t\t\t\tafterHeadersOfBatch = reader.getBufferPosition();\n\n\t\t\t\t// 1st lsit of collectables / destroyed actors in toc blob.\n\t\t\t\tif (countObjectHeaders === totalReadObjectsInLevel + objects.length) {\n\t\t\t\t\tlet remainingSize = tocBlobMarker.length - (reader.getBufferPosition() - tocBlobMarker.position);\n\t\t\t\t\tif (remainingSize > 0) {\n\t\t\t\t\t\tif (isPersistentLevel) {\n\t\t\t\t\t\t\tdestroyedActorsMap = LevelToDestroyedActorsMap.read(reader);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcollectables = ObjectReferencesList.ReadList(reader);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlevel.writesDestroyedActorsInTOCBlob = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (totalReadObjectsInLevel === 0) {\n\n\t\t\t\t\t// jump to after all headers\n\t\t\t\t\treader.jumpTo(dataBlobMarker.position);\n\t\t\t\t\tconst posBeforeContents = reader.getBufferPosition();\n\t\t\t\t\tconst countEntities = reader.readInt32();\n\t\t\t\t\tafterObjectsOfBatch = reader.getBufferPosition();\t// at first no batch is read.\n\t\t\t\t} else {\n\t\t\t\t\treader.jumpTo(afterObjectsOfBatch);\n\t\t\t\t}\n\n\t\t\t\tDataBlob.ReadNObjectContents(reader, objectCountToRead, objects, 0);\n\t\t\t\tafterObjectsOfBatch = reader.getBufferPosition();\n\t\t\t\ttotalReadObjectsInLevel += objectCountToRead;\n\t\t\t\tif (countObjectHeaders > 10000 && totalReadObjectsInLevel % 10000 === 0) {\n\t\t\t\t\treader.onProgressCallback(reader.getBufferProgress(), `read object count [${(totalReadObjectsInLevel + 1)}/${(countObjectHeaders + 1)}] in level ${levelName}`);\n\t\t\t\t}\n\n\t\t\t\t// we should wait even if the objects of many levels accumulate to several hundred.\n\t\t\t\tlet shouldWait = false;\n\t\t\t\tif (writtenTotalObjectsSinceConsumerSync >= thresholdOfWrittenObjectsUntilWaitingForConsumerAgain) {\n\t\t\t\t\t// will wait til consumer catches up. Because we wrote ${writtenTotalObjectsSinceConsumerSync} objects without waiting.\n\t\t\t\t\tshouldWait = true;\n\t\t\t\t\twrittenTotalObjectsSinceConsumerSync = 0;\n\t\t\t\t}\n\t\t\t\tawait write(`${writtenObjectsInLevel > 0 ? ', ' : ''}${objects.filter(Boolean).map(obj => JSON.stringify(obj)).join(', ')}`, shouldWait);\n\t\t\t\twrittenTotalObjectsSinceConsumerSync += objectCountToRead;\n\t\t\t\twrittenObjectsInLevel += objectCountToRead;\n\n\t\t\t} while (totalReadObjectsInLevel < countObjectHeaders)\n\n\n\t\t\tawait write('], ', false);\n\t\t\tawait write(`\"writesDestroyedActorsInTOCBlob\": ${JSON.stringify(level.writesDestroyedActorsInTOCBlob)}`, false);\n\n\t\t\treader.jumpTo(endOfLevelPosition);\n\t\t\tawait write('}', false);\n\t\t}\n\t}\n}"]}
@@ -0,0 +1,17 @@
1
+ export declare enum ETextHistoryType {
2
+ None = -1,
3
+ Base = 0,
4
+ NamedFormat = 1,
5
+ OrderedFormat = 2,
6
+ ArgumentFormat = 3,
7
+ AsNumber = 4,
8
+ AsPercent = 5,
9
+ AsCurrency = 6,
10
+ AsDate = 7,
11
+ AsTime = 8,
12
+ AsDateTime = 9,
13
+ Transform = 10,
14
+ StringTableEntry = 11,
15
+ TextGenerator = 12
16
+ }
17
+ //# sourceMappingURL=ETextHistoryType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ETextHistoryType.d.ts","sourceRoot":"","sources":["../../../src/parser/unreal-engine/ETextHistoryType.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IACxB,IAAI,KAAK;IACT,IAAI,IAAI;IACR,WAAW,IAAA;IACX,aAAa,IAAA;IACb,cAAc,IAAA;IACd,QAAQ,IAAA;IACR,SAAS,IAAA;IACT,UAAU,IAAA;IACV,MAAM,IAAA;IACN,MAAM,IAAA;IACN,UAAU,IAAA;IACV,SAAS,KAAA;IACT,gBAAgB,KAAA;IAChB,aAAa,KAAA;CAChB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ETextHistoryType = void 0;
4
+ var ETextHistoryType;
5
+ (function (ETextHistoryType) {
6
+ ETextHistoryType[ETextHistoryType["None"] = -1] = "None";
7
+ ETextHistoryType[ETextHistoryType["Base"] = 0] = "Base";
8
+ ETextHistoryType[ETextHistoryType["NamedFormat"] = 1] = "NamedFormat";
9
+ ETextHistoryType[ETextHistoryType["OrderedFormat"] = 2] = "OrderedFormat";
10
+ ETextHistoryType[ETextHistoryType["ArgumentFormat"] = 3] = "ArgumentFormat";
11
+ ETextHistoryType[ETextHistoryType["AsNumber"] = 4] = "AsNumber";
12
+ ETextHistoryType[ETextHistoryType["AsPercent"] = 5] = "AsPercent";
13
+ ETextHistoryType[ETextHistoryType["AsCurrency"] = 6] = "AsCurrency";
14
+ ETextHistoryType[ETextHistoryType["AsDate"] = 7] = "AsDate";
15
+ ETextHistoryType[ETextHistoryType["AsTime"] = 8] = "AsTime";
16
+ ETextHistoryType[ETextHistoryType["AsDateTime"] = 9] = "AsDateTime";
17
+ ETextHistoryType[ETextHistoryType["Transform"] = 10] = "Transform";
18
+ ETextHistoryType[ETextHistoryType["StringTableEntry"] = 11] = "StringTableEntry";
19
+ ETextHistoryType[ETextHistoryType["TextGenerator"] = 12] = "TextGenerator";
20
+ })(ETextHistoryType || (exports.ETextHistoryType = ETextHistoryType = {}));
21
+ //# sourceMappingURL=ETextHistoryType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ETextHistoryType.js","sourceRoot":"","sources":["../../../src/parser/unreal-engine/ETextHistoryType.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IACxB,wDAAS,CAAA;IACT,uDAAQ,CAAA;IACR,qEAAW,CAAA;IACX,yEAAa,CAAA;IACb,2EAAc,CAAA;IACd,+DAAQ,CAAA;IACR,iEAAS,CAAA;IACT,mEAAU,CAAA;IACV,2DAAM,CAAA;IACN,2DAAM,CAAA;IACN,mEAAU,CAAA;IACV,kEAAS,CAAA;IACT,gFAAgB,CAAA;IAChB,0EAAa,CAAA;AACjB,CAAC,EAfW,gBAAgB,gCAAhB,gBAAgB,QAe3B","sourcesContent":["export enum ETextHistoryType {\n None = -1,\n Base = 0,\n NamedFormat,\n OrderedFormat,\n ArgumentFormat,\n AsNumber,\n AsPercent,\n AsCurrency,\n AsDate,\n AsTime,\n AsDateTime,\n Transform,\n StringTableEntry,\n TextGenerator\n}"]}
@@ -0,0 +1,24 @@
1
+ export declare enum EUnrealEngineObjectUE5Version {
2
+ INITIAL_VERSION = 1000,
3
+ NAMES_REFERENCED_FROM_EXPORT_DATA = 1001,
4
+ PAYLOAD_TOC = 1002,
5
+ OPTIONAL_RESOURCES = 1003,
6
+ LARGE_WORLD_COORDINATES = 1004,
7
+ REMOVE_OBJECT_EXPORT_PACKAGE_GUID = 1005,
8
+ TRACK_OBJECT_EXPORT_IS_INHERITED = 1006,
9
+ FSOFTOBJECTPATH_REMOVE_ASSET_PATH_FNAMES = 1007,
10
+ ADD_SOFTOBJECTPATH_LIST = 1008,
11
+ DATA_RESOURCES = 1009,
12
+ SCRIPT_SERIALIZATION_OFFSET = 1010,
13
+ PROPERTY_TAG_EXTENSION_AND_OVERRIDABLE_SERIALIZATION = 1011,
14
+ PROPERTY_TAG_COMPLETE_TYPE_NAME = 1012,
15
+ ASSETREGISTRY_PACKAGEBUILDDEPENDENCIES = 1013,
16
+ METADATA_SERIALIZATION_OFFSET = 1014,
17
+ VERSE_CELLS = 1015,
18
+ PACKAGE_SAVED_HASH = 1016,
19
+ OS_SUB_OBJECT_SHADOW_SERIALIZATION = 1017,
20
+ IMPORT_TYPE_HIERARCHIES = 1018,
21
+ AUTOMATIC_VERSION_PLUS_ONE = 1019,
22
+ AUTOMATIC_VERSION = 1018
23
+ }
24
+ //# sourceMappingURL=EUnrealEngineObjectUE5Version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EUnrealEngineObjectUE5Version.d.ts","sourceRoot":"","sources":["../../../src/parser/unreal-engine/EUnrealEngineObjectUE5Version.ts"],"names":[],"mappings":"AAIA,oBAAY,6BAA6B;IAMrC,eAAe,OAAO;IAGtB,iCAAiC,OAAA;IAGjC,WAAW,OAAA;IAGX,kBAAkB,OAAA;IAGlB,uBAAuB,OAAA;IAGvB,iCAAiC,OAAA;IAGjC,gCAAgC,OAAA;IAGhC,wCAAwC,OAAA;IAGxC,uBAAuB,OAAA;IAGvB,cAAc,OAAA;IAGd,2BAA2B,OAAA;IAK3B,oDAAoD,OAAA;IAGpD,+BAA+B,OAAA;IAG/B,sCAAsC,OAAA;IAGtC,6BAA6B,OAAA;IAG7B,WAAW,OAAA;IAGX,kBAAkB,OAAA;IAGlB,kCAAkC,OAAA;IAGlC,uBAAuB,OAAA;IAIvB,0BAA0B,OAAA;IAC1B,iBAAiB,OAAiC;CACrD"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EUnrealEngineObjectUE5Version = void 0;
4
+ var EUnrealEngineObjectUE5Version;
5
+ (function (EUnrealEngineObjectUE5Version) {
6
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["INITIAL_VERSION"] = 1000] = "INITIAL_VERSION";
7
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["NAMES_REFERENCED_FROM_EXPORT_DATA"] = 1001] = "NAMES_REFERENCED_FROM_EXPORT_DATA";
8
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["PAYLOAD_TOC"] = 1002] = "PAYLOAD_TOC";
9
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["OPTIONAL_RESOURCES"] = 1003] = "OPTIONAL_RESOURCES";
10
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["LARGE_WORLD_COORDINATES"] = 1004] = "LARGE_WORLD_COORDINATES";
11
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["REMOVE_OBJECT_EXPORT_PACKAGE_GUID"] = 1005] = "REMOVE_OBJECT_EXPORT_PACKAGE_GUID";
12
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["TRACK_OBJECT_EXPORT_IS_INHERITED"] = 1006] = "TRACK_OBJECT_EXPORT_IS_INHERITED";
13
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["FSOFTOBJECTPATH_REMOVE_ASSET_PATH_FNAMES"] = 1007] = "FSOFTOBJECTPATH_REMOVE_ASSET_PATH_FNAMES";
14
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["ADD_SOFTOBJECTPATH_LIST"] = 1008] = "ADD_SOFTOBJECTPATH_LIST";
15
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["DATA_RESOURCES"] = 1009] = "DATA_RESOURCES";
16
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["SCRIPT_SERIALIZATION_OFFSET"] = 1010] = "SCRIPT_SERIALIZATION_OFFSET";
17
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["PROPERTY_TAG_EXTENSION_AND_OVERRIDABLE_SERIALIZATION"] = 1011] = "PROPERTY_TAG_EXTENSION_AND_OVERRIDABLE_SERIALIZATION";
18
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["PROPERTY_TAG_COMPLETE_TYPE_NAME"] = 1012] = "PROPERTY_TAG_COMPLETE_TYPE_NAME";
19
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["ASSETREGISTRY_PACKAGEBUILDDEPENDENCIES"] = 1013] = "ASSETREGISTRY_PACKAGEBUILDDEPENDENCIES";
20
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["METADATA_SERIALIZATION_OFFSET"] = 1014] = "METADATA_SERIALIZATION_OFFSET";
21
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["VERSE_CELLS"] = 1015] = "VERSE_CELLS";
22
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["PACKAGE_SAVED_HASH"] = 1016] = "PACKAGE_SAVED_HASH";
23
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["OS_SUB_OBJECT_SHADOW_SERIALIZATION"] = 1017] = "OS_SUB_OBJECT_SHADOW_SERIALIZATION";
24
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["IMPORT_TYPE_HIERARCHIES"] = 1018] = "IMPORT_TYPE_HIERARCHIES";
25
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["AUTOMATIC_VERSION_PLUS_ONE"] = 1019] = "AUTOMATIC_VERSION_PLUS_ONE";
26
+ EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["AUTOMATIC_VERSION"] = 1018] = "AUTOMATIC_VERSION";
27
+ })(EUnrealEngineObjectUE5Version || (exports.EUnrealEngineObjectUE5Version = EUnrealEngineObjectUE5Version = {}));
28
+ ;
29
+ //# sourceMappingURL=EUnrealEngineObjectUE5Version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EUnrealEngineObjectUE5Version.js","sourceRoot":"","sources":["../../../src/parser/unreal-engine/EUnrealEngineObjectUE5Version.ts"],"names":[],"mappings":";;;AAIA,IAAY,6BAoEX;AApED,WAAY,6BAA6B;IAMrC,0GAAsB,CAAA;IAGtB,8IAAiC,CAAA;IAGjC,kGAAW,CAAA;IAGX,gHAAkB,CAAA;IAGlB,0HAAuB,CAAA;IAGvB,8IAAiC,CAAA;IAGjC,4IAAgC,CAAA;IAGhC,4JAAwC,CAAA;IAGxC,0HAAuB,CAAA;IAGvB,wGAAc,CAAA;IAGd,kIAA2B,CAAA;IAK3B,oLAAoD,CAAA;IAGpD,0IAA+B,CAAA;IAG/B,wJAAsC,CAAA;IAGtC,sIAA6B,CAAA;IAG7B,kGAAW,CAAA;IAGX,gHAAkB,CAAA;IAGlB,gJAAkC,CAAA;IAGlC,0HAAuB,CAAA;IAIvB,gIAA0B,CAAA;IAC1B,8GAAkD,CAAA;AACtD,CAAC,EApEW,6BAA6B,6CAA7B,6BAA6B,QAoExC;AAAA,CAAC","sourcesContent":["\n/**\n * Source: https://github.com/EpicGames/UnrealEngine/blob/260bb2e1c5610b31c63a36206eedd289409c5f11/Engine/Source/Runtime/Core/Public/UObject/ObjectVersion.h#L40\n */\nexport enum EUnrealEngineObjectUE5Version {\n // Note that currently the oldest loadable package version is EUnrealEngineObjectUEVersion::VER_UE4_OLDEST_LOADABLE_PACKAGE\n // this can be enabled should we ever deprecate UE4 versions entirely\n //OLDEST_LOADABLE_PACKAGE = ???,\n\n // The original UE5 version, at the time this was added the UE4 version was 522, so UE5 will start from 1000 to show a clear difference\n INITIAL_VERSION = 1000,\n\n // Support stripping names that are not referenced from export data\n NAMES_REFERENCED_FROM_EXPORT_DATA,\n\n // Added a payload table of contents to the package summary\n PAYLOAD_TOC,\n\n // Added data to identify references from and to optional package\n OPTIONAL_RESOURCES,\n\n // Large world coordinates converts a number of core types to double components by default.\n LARGE_WORLD_COORDINATES,\n\n // Remove package GUID from FObjectExport\n REMOVE_OBJECT_EXPORT_PACKAGE_GUID,\n\n // Add IsInherited to the FObjectExport entry\n TRACK_OBJECT_EXPORT_IS_INHERITED,\n\n // Replace FName asset path in FSoftObjectPath with (package name, asset name) pair FTopLevelAssetPath\n FSOFTOBJECTPATH_REMOVE_ASSET_PATH_FNAMES,\n\n // Add a soft object path list to the package summary for fast remap\n ADD_SOFTOBJECTPATH_LIST,\n\n // Added bulk/data resource table\n DATA_RESOURCES,\n\n // Added script property serialization offset to export table entries for saved, versioned packages\n SCRIPT_SERIALIZATION_OFFSET,\n\n // Adding property tag extension,\n // Support for overridable serialization on UObject,\n // Support for overridable logic in containers\n PROPERTY_TAG_EXTENSION_AND_OVERRIDABLE_SERIALIZATION,\n\n // Added property tag complete type name and serialization type\n PROPERTY_TAG_COMPLETE_TYPE_NAME,\n\n // Changed UE::AssetRegistry::WritePackageData to include PackageBuildDependencies\n ASSETREGISTRY_PACKAGEBUILDDEPENDENCIES,\n\n // Added meta data serialization offset to for saved, versioned packages\n METADATA_SERIALIZATION_OFFSET,\n\n // Added VCells to the object graph\n VERSE_CELLS,\n\n // Changed PackageFileSummary to write FIoHash PackageSavedHash instead of FGuid Guid\n PACKAGE_SAVED_HASH,\n\n // OS shadow serialization of subobjects\n OS_SUB_OBJECT_SHADOW_SERIALIZATION,\n\n // Adds a table of hierarchical type information for imports in a package\n IMPORT_TYPE_HIERARCHIES,\n\n // -----<new versions can be added before this line>-------------------------------------------------\n // - this needs to be the last line (see note below)\n AUTOMATIC_VERSION_PLUS_ONE,\n AUTOMATIC_VERSION = AUTOMATIC_VERSION_PLUS_ONE - 1\n};"]}
@@ -0,0 +1 @@
1
+ window.hierarchyData = "eJyVlk+P2yAQxb8LZ7Y1GGPj465W6qHSVv17WOXgxJMurY0tTKpGq3z3iljJgpMUuOSQvPHvvZkx4RXpYTATqp8ZLnKKGRFkhZGGbQcbIwc1ofoVMfuhmh5Qje6lavT+aQTdrDtAGP2WqkU1LThGO92hGkllQG+bDUzvffG7F9N3CKNN10wTqpGZ2jtbfXeusD++yK7VoFD9TCgu2eqAEaEXBj5D00YbOImTDbDK4svL/D+0NNH4kzgVT4k4pmeVy98bsHlAn9mEVif28dEWfFbdhM5feMCcUgukRCyANkEYOKuSgCK3wJy6A34YlIG/JhzSE6ZgS17iqshwXhFy5Iv8kh/O7AlT+IISTDImcC7mERe524BPjZ5AP2o9/BfvyFLgBRO44AUuKoILUWJOcszpbIO5g/+mpt04DtpA+x30JAcVtHSjJGDPknnhTUDr3Wi+NH8giFxqI1gVuWTddzsYtVQmFugXRFBF6VH7UcNkO/RRrnWj9xHcqyVhMifudn+VPQy7cExXF8Gg/ubIfuygB2WgjViapTrMK7nbzfMsIg5GXxomVUV2jfQwqK38mcBzC8JUQck1asQ57EvDJHsO3Q6YAHQLwlh79DpY+/qGm/mmigAI71/MlobDvKnCAJaJbAGwr+igQJkPfpTrl4MrFak3BJYJvpq98FteQnnPwojIJK8WmEdlpNlH53XlEWGPTLaMNj8klGtWxYQSy018Wv+CTfwQXXnyBIng2K4Sts1dzX6WgWdAKPCsSrkK2LXBtsGrw+HwD5P6+Kk="
@@ -3,7 +3,7 @@
3
3
  function addIcons() {
4
4
  if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons);
5
5
  const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg"));
6
- svg.innerHTML = `<g id="icon-1" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-2" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-4" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">N</text></g><g id="icon-8" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">E</text></g><g id="icon-16" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-32" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">V</text></g><g id="icon-64" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">F</text></g><g id="icon-128" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-256" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">I</text></g><g id="icon-512" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-1024" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-2048" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-method)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-4096" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">F</text></g><g id="icon-8192" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-16384" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-32768" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-65536" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-131072" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-262144" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-524288" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-1048576" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-2097152" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-4194304" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-reference)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">R</text></g><g id="icon-8388608" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="6,5 6,19 18,19, 18,10 13,5"></polygon><line x1="9" y1="9" x2="13" y2="9"></line><line x1="9" y1="12" x2="15" y2="12"></line><line x1="9" y1="15" x2="15" y2="15"></line></g></g><g id="icon-folder" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="5,5 10,5 12,8 19,8 19,18 5,18"></polygon></g></g><g id="icon-chevronDown" class="tsd-no-select"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-icon-text)"></path></g><g id="icon-chevronSmall" class="tsd-no-select"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-icon-text)"></path></g><g id="icon-checkbox" class="tsd-no-select"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></g><g id="icon-menu" class="tsd-no-select"><rect x="1" y="3" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-icon-text)"></rect></g><g id="icon-search" class="tsd-no-select"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-icon-text)"></path></g><g id="icon-anchor" class="tsd-no-select"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></g>`;
6
+ svg.innerHTML = `<symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Module" id="icon-1"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">M</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Module" id="icon-2"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">M</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Namespace" id="icon-4"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">N</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Enumeration" id="icon-8"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">E</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Enumeration Member" id="icon-16"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">P</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Variable" id="icon-32"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">V</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Function" id="icon-64"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">F</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Class" id="icon-128"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">C</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Interface" id="icon-256"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">I</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Constructor" id="icon-512"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">C</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Property" id="icon-1024"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">P</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Method" id="icon-2048"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-method)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">M</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Function" id="icon-4096"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">F</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Index Signature" id="icon-8192"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">P</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Constructor" id="icon-16384"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">C</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Property" id="icon-32768"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">P</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Type Alias" id="icon-65536"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">T</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Type Alias" id="icon-131072"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">T</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Accessor" id="icon-262144"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">A</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Accessor" id="icon-524288"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">A</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Accessor" id="icon-1048576"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">A</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Type Alias" id="icon-2097152"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">T</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Reference" id="icon-4194304"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-reference)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">R</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Document" id="icon-8388608"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="6,5 6,19 18,19, 18,10 13,5"></polygon><line x1="9" y1="9" x2="13" y2="9"></line><line x1="9" y1="12" x2="15" y2="12"></line><line x1="9" y1="15" x2="15" y2="15"></line></g></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Folder" id="icon-folder"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="5,5 10,5 12,8 19,8 19,18 5,18"></polygon></g></symbol><symbol width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true" id="icon-chevronDown" class="tsd-no-select"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-icon-text)"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" id="icon-chevronSmall" class="tsd-no-select"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-icon-text)"></path></symbol><symbol width="32" height="32" viewBox="0 0 32 32" aria-hidden="true" id="icon-checkbox" class="tsd-no-select"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" id="icon-menu" class="tsd-no-select"><rect x="1" y="3" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-icon-text)"></rect></symbol><symbol width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" id="icon-search" class="tsd-no-select"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-icon-text)"></path></symbol><symbol viewBox="0 0 24 24" aria-hidden="true" id="icon-anchor" class="tsd-no-select"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></symbol><symbol xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" id="icon-alertNote" class="tsd-no-select"><path fill="var(--color-alert-note)" d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" id="icon-alertTip" class="tsd-no-select"><path fill="var(--color-alert-tip)" d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" id="icon-alertImportant" class="tsd-no-select"><path fill="var(--color-alert-important)" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" id="icon-alertWarning" class="tsd-no-select"><path fill="var(--color-alert-warning)" d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" id="icon-alertCaution" class="tsd-no-select"><path fill="var(--color-alert-caution)" d="M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></symbol>`;
7
7
  svg.style.display = "none";
8
8
  if (location.protocol === "file:") updateUseElements();
9
9
  }