@etothepii/satisfactory-file-parser 0.5.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (500) hide show
  1. package/README.md +69 -41
  2. package/build/index.d.ts +1 -0
  3. package/build/index.d.ts.map +1 -0
  4. package/build/index.js +1 -0
  5. package/build/index.js.map +1 -0
  6. package/build/parser/byte/alignment.enum.d.ts +1 -0
  7. package/build/parser/byte/alignment.enum.d.ts.map +1 -0
  8. package/build/parser/byte/alignment.enum.js +1 -0
  9. package/build/parser/byte/alignment.enum.js.map +1 -0
  10. package/build/parser/byte/binary-operable.interface.d.ts +1 -0
  11. package/build/parser/byte/binary-operable.interface.d.ts.map +1 -0
  12. package/build/parser/byte/binary-operable.interface.js +1 -0
  13. package/build/parser/byte/binary-operable.interface.js.map +1 -0
  14. package/build/parser/byte/binary-readable.interface.d.ts +1 -0
  15. package/build/parser/byte/binary-readable.interface.d.ts.map +1 -0
  16. package/build/parser/byte/binary-readable.interface.js +1 -0
  17. package/build/parser/byte/binary-readable.interface.js.map +1 -0
  18. package/build/parser/byte/binary-writable.interface.d.ts +1 -0
  19. package/build/parser/byte/binary-writable.interface.d.ts.map +1 -0
  20. package/build/parser/byte/binary-writable.interface.js +1 -0
  21. package/build/parser/byte/binary-writable.interface.js.map +1 -0
  22. package/build/parser/byte/byte-reader.class.d.ts +1 -0
  23. package/build/parser/byte/byte-reader.class.d.ts.map +1 -0
  24. package/build/parser/byte/byte-reader.class.js +4 -4
  25. package/build/parser/byte/byte-reader.class.js.map +1 -0
  26. package/build/parser/byte/byte-writer.class.d.ts +1 -0
  27. package/build/parser/byte/byte-writer.class.d.ts.map +1 -0
  28. package/build/parser/byte/byte-writer.class.js +1 -0
  29. package/build/parser/byte/byte-writer.class.js.map +1 -0
  30. package/build/parser/error/parser.error.d.ts +1 -0
  31. package/build/parser/error/parser.error.d.ts.map +1 -0
  32. package/build/parser/error/parser.error.js +1 -0
  33. package/build/parser/error/parser.error.js.map +1 -0
  34. package/build/parser/file.types.d.ts +1 -0
  35. package/build/parser/file.types.d.ts.map +1 -0
  36. package/build/parser/file.types.js +1 -0
  37. package/build/parser/file.types.js.map +1 -0
  38. package/build/parser/parser.d.ts +18 -3
  39. package/build/parser/parser.d.ts.map +1 -0
  40. package/build/parser/parser.js +40 -6
  41. package/build/parser/parser.js.map +1 -0
  42. package/build/parser/satisfactory/blueprint/blueprint-reader.d.ts +1 -0
  43. package/build/parser/satisfactory/blueprint/blueprint-reader.d.ts.map +1 -0
  44. package/build/parser/satisfactory/blueprint/blueprint-reader.js +2 -1
  45. package/build/parser/satisfactory/blueprint/blueprint-reader.js.map +1 -0
  46. package/build/parser/satisfactory/blueprint/blueprint-writer.d.ts +6 -1
  47. package/build/parser/satisfactory/blueprint/blueprint-writer.d.ts.map +1 -0
  48. package/build/parser/satisfactory/blueprint/blueprint-writer.js +7 -4
  49. package/build/parser/satisfactory/blueprint/blueprint-writer.js.map +1 -0
  50. package/build/parser/satisfactory/blueprint/blueprint.types.d.ts +1 -0
  51. package/build/parser/satisfactory/blueprint/blueprint.types.d.ts.map +1 -0
  52. package/build/parser/satisfactory/blueprint/blueprint.types.js +1 -0
  53. package/build/parser/satisfactory/blueprint/blueprint.types.js.map +1 -0
  54. package/build/parser/satisfactory/edit/edit-constants.d.ts +1 -0
  55. package/build/parser/satisfactory/edit/edit-constants.d.ts.map +1 -0
  56. package/build/parser/satisfactory/edit/edit-constants.js +1 -0
  57. package/build/parser/satisfactory/edit/edit-constants.js.map +1 -0
  58. package/build/parser/satisfactory/save/level.class.d.ts +13 -8
  59. package/build/parser/satisfactory/save/level.class.d.ts.map +1 -0
  60. package/build/parser/satisfactory/save/level.class.js +104 -48
  61. package/build/parser/satisfactory/save/level.class.js.map +1 -0
  62. package/build/parser/satisfactory/save/object-references-list.d.ts +8 -0
  63. package/build/parser/satisfactory/save/object-references-list.d.ts.map +1 -0
  64. package/build/parser/satisfactory/save/object-references-list.js +22 -0
  65. package/build/parser/satisfactory/save/object-references-list.js.map +1 -0
  66. package/build/parser/satisfactory/save/satisfactory-save.d.ts +4 -3
  67. package/build/parser/satisfactory/save/satisfactory-save.d.ts.map +1 -0
  68. package/build/parser/satisfactory/save/satisfactory-save.js +2 -1
  69. package/build/parser/satisfactory/save/satisfactory-save.js.map +1 -0
  70. package/build/parser/satisfactory/save/save-reader.d.ts +11 -3
  71. package/build/parser/satisfactory/save/save-reader.d.ts.map +1 -0
  72. package/build/parser/satisfactory/save/save-reader.js +59 -21
  73. package/build/parser/satisfactory/save/save-reader.js.map +1 -0
  74. package/build/parser/satisfactory/save/save-writer.d.ts +3 -2
  75. package/build/parser/satisfactory/save/save-writer.d.ts.map +1 -0
  76. package/build/parser/satisfactory/save/save-writer.js +12 -12
  77. package/build/parser/satisfactory/save/save-writer.js.map +1 -0
  78. package/build/parser/satisfactory/save/save.types.d.ts +1 -0
  79. package/build/parser/satisfactory/save/save.types.d.ts.map +1 -0
  80. package/build/parser/satisfactory/save/save.types.js +1 -0
  81. package/build/parser/satisfactory/save/save.types.js.map +1 -0
  82. package/build/parser/satisfactory/types/objects/SaveComponent.d.ts +1 -0
  83. package/build/parser/satisfactory/types/objects/SaveComponent.d.ts.map +1 -0
  84. package/build/parser/satisfactory/types/objects/SaveComponent.js +1 -0
  85. package/build/parser/satisfactory/types/objects/SaveComponent.js.map +1 -0
  86. package/build/parser/satisfactory/types/objects/SaveEntity.d.ts +1 -0
  87. package/build/parser/satisfactory/types/objects/SaveEntity.d.ts.map +1 -0
  88. package/build/parser/satisfactory/types/objects/SaveEntity.js +1 -0
  89. package/build/parser/satisfactory/types/objects/SaveEntity.js.map +1 -0
  90. package/build/parser/satisfactory/types/objects/SaveObject.d.ts +1 -0
  91. package/build/parser/satisfactory/types/objects/SaveObject.d.ts.map +1 -0
  92. package/build/parser/satisfactory/types/objects/SaveObject.js +1 -0
  93. package/build/parser/satisfactory/types/objects/SaveObject.js.map +1 -0
  94. package/build/parser/satisfactory/types/property/PropertiesList.d.ts +1 -0
  95. package/build/parser/satisfactory/types/property/PropertiesList.d.ts.map +1 -0
  96. package/build/parser/satisfactory/types/property/PropertiesList.js +1 -0
  97. package/build/parser/satisfactory/types/property/PropertiesList.js.map +1 -0
  98. package/build/parser/satisfactory/types/property/generic/ArrayProperty.d.ts +1 -0
  99. package/build/parser/satisfactory/types/property/generic/ArrayProperty.d.ts.map +1 -0
  100. package/build/parser/satisfactory/types/property/generic/ArrayProperty.js +3 -2
  101. package/build/parser/satisfactory/types/property/generic/ArrayProperty.js.map +1 -0
  102. package/build/parser/satisfactory/types/property/generic/BasicProperty.d.ts +1 -0
  103. package/build/parser/satisfactory/types/property/generic/BasicProperty.d.ts.map +1 -0
  104. package/build/parser/satisfactory/types/property/generic/BasicProperty.js +1 -0
  105. package/build/parser/satisfactory/types/property/generic/BasicProperty.js.map +1 -0
  106. package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts +1 -0
  107. package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts.map +1 -0
  108. package/build/parser/satisfactory/types/property/generic/BoolProperty.js +1 -0
  109. package/build/parser/satisfactory/types/property/generic/BoolProperty.js.map +1 -0
  110. package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts +1 -0
  111. package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts.map +1 -0
  112. package/build/parser/satisfactory/types/property/generic/ByteProperty.js +1 -0
  113. package/build/parser/satisfactory/types/property/generic/ByteProperty.js.map +1 -0
  114. package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts +1 -0
  115. package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts.map +1 -0
  116. package/build/parser/satisfactory/types/property/generic/DoubleProperty.js +1 -0
  117. package/build/parser/satisfactory/types/property/generic/DoubleProperty.js.map +1 -0
  118. package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts +1 -0
  119. package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts.map +1 -0
  120. package/build/parser/satisfactory/types/property/generic/EnumProperty.js +1 -0
  121. package/build/parser/satisfactory/types/property/generic/EnumProperty.js.map +1 -0
  122. package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts +1 -0
  123. package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts.map +1 -0
  124. package/build/parser/satisfactory/types/property/generic/FloatProperty.js +1 -0
  125. package/build/parser/satisfactory/types/property/generic/FloatProperty.js.map +1 -0
  126. package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts +1 -0
  127. package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts.map +1 -0
  128. package/build/parser/satisfactory/types/property/generic/Int32Property.js +1 -0
  129. package/build/parser/satisfactory/types/property/generic/Int32Property.js.map +1 -0
  130. package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts +1 -0
  131. package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts.map +1 -0
  132. package/build/parser/satisfactory/types/property/generic/Int64Property.js +1 -0
  133. package/build/parser/satisfactory/types/property/generic/Int64Property.js.map +1 -0
  134. package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts +1 -0
  135. package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts.map +1 -0
  136. package/build/parser/satisfactory/types/property/generic/Int8Property.js +1 -0
  137. package/build/parser/satisfactory/types/property/generic/Int8Property.js.map +1 -0
  138. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts +1 -0
  139. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts.map +1 -0
  140. package/build/parser/satisfactory/types/property/generic/MapProperty.js +1 -0
  141. package/build/parser/satisfactory/types/property/generic/MapProperty.js.map +1 -0
  142. package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts +1 -0
  143. package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts.map +1 -0
  144. package/build/parser/satisfactory/types/property/generic/ObjectProperty.js +1 -0
  145. package/build/parser/satisfactory/types/property/generic/ObjectProperty.js.map +1 -0
  146. package/build/parser/satisfactory/types/property/generic/SetProperty.d.ts +1 -0
  147. package/build/parser/satisfactory/types/property/generic/SetProperty.d.ts.map +1 -0
  148. package/build/parser/satisfactory/types/property/generic/SetProperty.js +1 -0
  149. package/build/parser/satisfactory/types/property/generic/SetProperty.js.map +1 -0
  150. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts +1 -0
  151. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts.map +1 -0
  152. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js +1 -0
  153. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js.map +1 -0
  154. package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts +1 -0
  155. package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts.map +1 -0
  156. package/build/parser/satisfactory/types/property/generic/StrProperty.js +1 -0
  157. package/build/parser/satisfactory/types/property/generic/StrProperty.js.map +1 -0
  158. package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts +1 -0
  159. package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts.map +1 -0
  160. package/build/parser/satisfactory/types/property/generic/StructProperty.js +1 -0
  161. package/build/parser/satisfactory/types/property/generic/StructProperty.js.map +1 -0
  162. package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts +1 -0
  163. package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts.map +1 -0
  164. package/build/parser/satisfactory/types/property/generic/TextProperty.js +1 -0
  165. package/build/parser/satisfactory/types/property/generic/TextProperty.js.map +1 -0
  166. package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts +1 -0
  167. package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts.map +1 -0
  168. package/build/parser/satisfactory/types/property/generic/Uint32Property.js +1 -0
  169. package/build/parser/satisfactory/types/property/generic/Uint32Property.js.map +1 -0
  170. package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts +1 -0
  171. package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts.map +1 -0
  172. package/build/parser/satisfactory/types/property/generic/Uint64Property.js +1 -0
  173. package/build/parser/satisfactory/types/property/generic/Uint64Property.js.map +1 -0
  174. package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts +1 -0
  175. package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts.map +1 -0
  176. package/build/parser/satisfactory/types/property/generic/Uint8Property.js +1 -0
  177. package/build/parser/satisfactory/types/property/generic/Uint8Property.js.map +1 -0
  178. package/build/parser/satisfactory/types/property/special/SpecialAnyProperties.d.ts +1 -0
  179. package/build/parser/satisfactory/types/property/special/SpecialAnyProperties.d.ts.map +1 -0
  180. package/build/parser/satisfactory/types/property/special/SpecialAnyProperties.js +1 -0
  181. package/build/parser/satisfactory/types/property/special/SpecialAnyProperties.js.map +1 -0
  182. package/build/parser/satisfactory/types/property/special/SpecialProperties.d.ts +1 -0
  183. package/build/parser/satisfactory/types/property/special/SpecialProperties.d.ts.map +1 -0
  184. package/build/parser/satisfactory/types/property/special/SpecialProperties.js +1 -0
  185. package/build/parser/satisfactory/types/property/special/SpecialProperties.js.map +1 -0
  186. package/build/parser/satisfactory/types/structs/DynamicStructPropertyValue.d.ts +1 -0
  187. package/build/parser/satisfactory/types/structs/DynamicStructPropertyValue.d.ts.map +1 -0
  188. package/build/parser/satisfactory/types/structs/DynamicStructPropertyValue.js +1 -0
  189. package/build/parser/satisfactory/types/structs/DynamicStructPropertyValue.js.map +1 -0
  190. package/build/parser/satisfactory/types/structs/GUID.d.ts +1 -0
  191. package/build/parser/satisfactory/types/structs/GUID.d.ts.map +1 -0
  192. package/build/parser/satisfactory/types/structs/GUID.js +1 -0
  193. package/build/parser/satisfactory/types/structs/GUID.js.map +1 -0
  194. package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts +1 -0
  195. package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts.map +1 -0
  196. package/build/parser/satisfactory/types/structs/GUIDInfo.js +1 -0
  197. package/build/parser/satisfactory/types/structs/GUIDInfo.js.map +1 -0
  198. package/build/parser/satisfactory/types/structs/MD5Hash.d.ts +1 -0
  199. package/build/parser/satisfactory/types/structs/MD5Hash.d.ts.map +1 -0
  200. package/build/parser/satisfactory/types/structs/MD5Hash.js +1 -0
  201. package/build/parser/satisfactory/types/structs/MD5Hash.js.map +1 -0
  202. package/build/parser/satisfactory/types/structs/ObjectReference.d.ts +1 -0
  203. package/build/parser/satisfactory/types/structs/ObjectReference.d.ts.map +1 -0
  204. package/build/parser/satisfactory/types/structs/ObjectReference.js +1 -0
  205. package/build/parser/satisfactory/types/structs/ObjectReference.js.map +1 -0
  206. package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts +1 -0
  207. package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts.map +1 -0
  208. package/build/parser/satisfactory/types/structs/SoftObjectReference.js +1 -0
  209. package/build/parser/satisfactory/types/structs/SoftObjectReference.js.map +1 -0
  210. package/build/parser/satisfactory/types/structs/Transform.d.ts +1 -0
  211. package/build/parser/satisfactory/types/structs/Transform.d.ts.map +1 -0
  212. package/build/parser/satisfactory/types/structs/Transform.js +1 -0
  213. package/build/parser/satisfactory/types/structs/Transform.js.map +1 -0
  214. package/build/parser/satisfactory/types/structs/col4.d.ts +1 -0
  215. package/build/parser/satisfactory/types/structs/col4.d.ts.map +1 -0
  216. package/build/parser/satisfactory/types/structs/col4.js +1 -0
  217. package/build/parser/satisfactory/types/structs/col4.js.map +1 -0
  218. package/build/parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange.d.ts +1 -0
  219. package/build/parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange.d.ts.map +1 -0
  220. package/build/parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange.js +1 -0
  221. package/build/parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange.js.map +1 -0
  222. package/build/parser/satisfactory/types/structs/vec2.d.ts +1 -0
  223. package/build/parser/satisfactory/types/structs/vec2.d.ts.map +1 -0
  224. package/build/parser/satisfactory/types/structs/vec2.js +1 -0
  225. package/build/parser/satisfactory/types/structs/vec2.js.map +1 -0
  226. package/build/parser/satisfactory/types/structs/vec3.d.ts +1 -0
  227. package/build/parser/satisfactory/types/structs/vec3.d.ts.map +1 -0
  228. package/build/parser/satisfactory/types/structs/vec3.js +1 -0
  229. package/build/parser/satisfactory/types/structs/vec3.js.map +1 -0
  230. package/build/parser/satisfactory/types/structs/vec4.d.ts +1 -0
  231. package/build/parser/satisfactory/types/structs/vec4.d.ts.map +1 -0
  232. package/build/parser/satisfactory/types/structs/vec4.js +1 -0
  233. package/build/parser/satisfactory/types/structs/vec4.js.map +1 -0
  234. package/build/parser/stream/reworked/readable-stream-parser.d.ts +6 -5
  235. package/build/parser/stream/reworked/readable-stream-parser.d.ts.map +1 -0
  236. package/build/parser/stream/reworked/readable-stream-parser.js +21 -66
  237. package/build/parser/stream/reworked/readable-stream-parser.js.map +1 -0
  238. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts +1 -0
  239. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts.map +1 -0
  240. package/build/parser/stream/reworked/save-stream-json-stringifier.js +1 -0
  241. package/build/parser/stream/reworked/save-stream-json-stringifier.js.map +1 -0
  242. package/build/parser/stream/reworked/save-stream-writer.class.d.ts +3 -2
  243. package/build/parser/stream/reworked/save-stream-writer.class.d.ts.map +1 -0
  244. package/build/parser/stream/reworked/save-stream-writer.class.js +1 -0
  245. package/build/parser/stream/reworked/save-stream-writer.class.js.map +1 -0
  246. package/docs/.nojekyll +1 -0
  247. package/docs/assets/highlight.css +92 -0
  248. package/docs/assets/icons.js +18 -0
  249. package/docs/assets/icons.svg +1 -0
  250. package/docs/assets/main.js +60 -0
  251. package/docs/assets/navigation.js +1 -0
  252. package/docs/assets/search.js +1 -0
  253. package/docs/assets/style.css +1493 -0
  254. package/docs/classes/AbstractBaseProperty.html +6 -0
  255. package/docs/classes/AbstractProperty.html +4 -0
  256. package/docs/classes/ArrayProperty.html +13 -0
  257. package/docs/classes/BasicProperty.html +7 -0
  258. package/docs/classes/BlueprintConfigReader.html +35 -0
  259. package/docs/classes/BlueprintConfigWriter.html +37 -0
  260. package/docs/classes/BlueprintReader.html +36 -0
  261. package/docs/classes/BlueprintWriter.html +40 -0
  262. package/docs/classes/BoolProperty.html +13 -0
  263. package/docs/classes/ByteProperty.html +13 -0
  264. package/docs/classes/CompressionLibraryError.html +11 -0
  265. package/docs/classes/CorruptSaveError.html +11 -0
  266. package/docs/classes/DoubleProperty.html +13 -0
  267. package/docs/classes/EnumProperty.html +13 -0
  268. package/docs/classes/FloatProperty.html +13 -0
  269. package/docs/classes/Int32Property.html +13 -0
  270. package/docs/classes/Int64Property.html +13 -0
  271. package/docs/classes/Int8Property.html +13 -0
  272. package/docs/classes/MapProperty.html +17 -0
  273. package/docs/classes/ObjectProperty.html +13 -0
  274. package/docs/classes/Parser.html +35 -0
  275. package/docs/classes/ParserError.html +11 -0
  276. package/docs/classes/ReadableStreamParser.html +8 -0
  277. package/docs/classes/SatisfactorySave.html +8 -0
  278. package/docs/classes/SaveComponent.html +17 -0
  279. package/docs/classes/SaveEntity.html +23 -0
  280. package/docs/classes/SaveReader.html +43 -0
  281. package/docs/classes/SaveStreamJsonStringifier.html +4 -0
  282. package/docs/classes/SaveStreamWriter.html +16 -0
  283. package/docs/classes/SaveWriter.html +42 -0
  284. package/docs/classes/SetProperty.html +12 -0
  285. package/docs/classes/StrProperty.html +13 -0
  286. package/docs/classes/StructProperty.html +18 -0
  287. package/docs/classes/TextProperty.html +13 -0
  288. package/docs/classes/TimeoutError.html +11 -0
  289. package/docs/classes/Uint32Property.html +13 -0
  290. package/docs/classes/Uint64Property.html +13 -0
  291. package/docs/classes/Uint8Property.html +13 -0
  292. package/docs/classes/UnimplementedError.html +11 -0
  293. package/docs/classes/UnsupportedVersionError.html +11 -0
  294. package/docs/functions/DynamicStructPropertyValue.read.html +1 -0
  295. package/docs/functions/DynamicStructPropertyValue.write.html +1 -0
  296. package/docs/functions/FICFrameRange.Parse.html +1 -0
  297. package/docs/functions/FICFrameRange.Serialize.html +1 -0
  298. package/docs/functions/GUID.read.html +1 -0
  299. package/docs/functions/GUID.write.html +1 -0
  300. package/docs/functions/GUIDInfo.read.html +1 -0
  301. package/docs/functions/GUIDInfo.write.html +1 -0
  302. package/docs/functions/Level.ReadAllObjectContents.html +1 -0
  303. package/docs/functions/Level.ReadAllObjectHeaders.html +1 -0
  304. package/docs/functions/Level.ReadLevel.html +1 -0
  305. package/docs/functions/Level.ReadNObjectContents.html +1 -0
  306. package/docs/functions/Level.ReadNObjectHeaders.html +1 -0
  307. package/docs/functions/Level.SerializeAllObjectContents.html +1 -0
  308. package/docs/functions/Level.SerializeAllObjectHeaders.html +1 -0
  309. package/docs/functions/Level.SerializeLevel.html +1 -0
  310. package/docs/functions/MD5Hash.read.html +1 -0
  311. package/docs/functions/MD5Hash.write.html +1 -0
  312. package/docs/functions/ObjectReference.read.html +1 -0
  313. package/docs/functions/ObjectReference.write.html +1 -0
  314. package/docs/functions/PropertiesList.ParseList.html +1 -0
  315. package/docs/functions/PropertiesList.ParseSingleProperty.html +1 -0
  316. package/docs/functions/PropertiesList.SerializeList.html +1 -0
  317. package/docs/functions/PropertiesList.SerializeSingleProperty.html +1 -0
  318. package/docs/functions/SoftObjectReference.read.html +1 -0
  319. package/docs/functions/SoftObjectReference.write.html +1 -0
  320. package/docs/functions/SpecialProperties.ParseClassSpecificSpecialProperties.html +1 -0
  321. package/docs/functions/SpecialProperties.SerializeClassSpecificSpecialProperties.html +1 -0
  322. package/docs/functions/Transform.Parse.html +1 -0
  323. package/docs/functions/Transform.ParseF.html +1 -0
  324. package/docs/functions/Transform.Serialize.html +1 -0
  325. package/docs/functions/Transform.SerializeF.html +1 -0
  326. package/docs/functions/col4.ParseBGRA.html +1 -0
  327. package/docs/functions/col4.ParseRGBA.html +1 -0
  328. package/docs/functions/col4.SerializeBGRA.html +1 -0
  329. package/docs/functions/col4.SerializeRGBA.html +1 -0
  330. package/docs/functions/isArrayProperty.html +1 -0
  331. package/docs/functions/isBoolProperty.html +1 -0
  332. package/docs/functions/isByteProperty.html +1 -0
  333. package/docs/functions/isDoubleProperty.html +1 -0
  334. package/docs/functions/isEnumProperty.html +1 -0
  335. package/docs/functions/isFloatProperty.html +1 -0
  336. package/docs/functions/isInt32Property.html +1 -0
  337. package/docs/functions/isInt64Property.html +1 -0
  338. package/docs/functions/isInt8Property.html +1 -0
  339. package/docs/functions/isMapProperty.html +1 -0
  340. package/docs/functions/isObjectProperty.html +1 -0
  341. package/docs/functions/isSaveComponent.html +1 -0
  342. package/docs/functions/isSaveEntity.html +1 -0
  343. package/docs/functions/isSetProperty.html +1 -0
  344. package/docs/functions/isStrProperty.html +1 -0
  345. package/docs/functions/isStructProperty.html +1 -0
  346. package/docs/functions/isTextProperty.html +1 -0
  347. package/docs/functions/isUInt64Property.html +1 -0
  348. package/docs/functions/isUint32Property.html +1 -0
  349. package/docs/functions/isUint8Property.html +1 -0
  350. package/docs/functions/vec2.Parse.html +1 -0
  351. package/docs/functions/vec2.ParseF.html +1 -0
  352. package/docs/functions/vec2.Serialize.html +1 -0
  353. package/docs/functions/vec2.SerializeF.html +1 -0
  354. package/docs/functions/vec3.Parse.html +1 -0
  355. package/docs/functions/vec3.ParseF.html +1 -0
  356. package/docs/functions/vec3.ParseInt.html +1 -0
  357. package/docs/functions/vec3.Serialize.html +1 -0
  358. package/docs/functions/vec3.SerializeF.html +1 -0
  359. package/docs/functions/vec3.SerializeInt.html +1 -0
  360. package/docs/functions/vec3.add.html +1 -0
  361. package/docs/functions/vec3.length.html +1 -0
  362. package/docs/functions/vec3.mult.html +1 -0
  363. package/docs/functions/vec3.norm.html +1 -0
  364. package/docs/functions/vec3.sub.html +1 -0
  365. package/docs/functions/vec4.Parse.html +1 -0
  366. package/docs/functions/vec4.ParseF.html +1 -0
  367. package/docs/functions/vec4.Serialize.html +1 -0
  368. package/docs/functions/vec4.SerializeF.html +1 -0
  369. package/docs/hierarchy.html +1 -0
  370. package/docs/index.html +146 -0
  371. package/docs/interfaces/Blueprint.html +6 -0
  372. package/docs/interfaces/BlueprintConfig.html +6 -0
  373. package/docs/interfaces/ModData.html +4 -0
  374. package/docs/interfaces/SatisfactoryModMetadata.html +4 -0
  375. package/docs/interfaces/SatisfactorySaveHeader.html +18 -0
  376. package/docs/interfaces/SaveComponentHeader.html +5 -0
  377. package/docs/interfaces/SaveEntityHeader.html +7 -0
  378. package/docs/modules/DynamicStructPropertyValue.html +3 -0
  379. package/docs/modules/FICFrameRange.html +3 -0
  380. package/docs/modules/GUID.html +3 -0
  381. package/docs/modules/GUIDInfo.html +3 -0
  382. package/docs/modules/Level.html +9 -0
  383. package/docs/modules/MD5Hash.html +3 -0
  384. package/docs/modules/ObjectReference.html +3 -0
  385. package/docs/modules/PropertiesList.html +5 -0
  386. package/docs/modules/SoftObjectReference.html +3 -0
  387. package/docs/modules/SpecialProperties.html +3 -0
  388. package/docs/modules/Transform.html +5 -0
  389. package/docs/modules/col4.html +5 -0
  390. package/docs/modules/vec2.html +5 -0
  391. package/docs/modules/vec3.html +12 -0
  392. package/docs/modules/vec4.html +5 -0
  393. package/docs/modules.html +123 -0
  394. package/docs/types/ArrayPropertyStructValueFields.html +1 -0
  395. package/docs/types/BasicMultipleStructPropertyValue.html +1 -0
  396. package/docs/types/BasicStructPropertyValue.html +1 -0
  397. package/docs/types/BlueprintHeader.html +1 -0
  398. package/docs/types/BoxStructPropertyValue.html +1 -0
  399. package/docs/types/BuildableSubsystemSpecialProperties.html +1 -0
  400. package/docs/types/BuildableTypeInstance.html +1 -0
  401. package/docs/types/BytePropertyValue.html +1 -0
  402. package/docs/types/ClientIdentityInfo.html +1 -0
  403. package/docs/types/ConveyorChainActorSpecialProperties.html +1 -0
  404. package/docs/types/ConveyorChainSegmentSpecialProperties.html +1 -0
  405. package/docs/types/ConveyorItemSpecialProperties.html +1 -0
  406. package/docs/types/DynamicStructPropertyValue-1.html +1 -0
  407. package/docs/types/EmptySpecialProperties.html +1 -0
  408. package/docs/types/FICFrameRange-1.html +1 -0
  409. package/docs/types/FICFrameRangeStructPropertyValue.html +1 -0
  410. package/docs/types/GENERIC_MAP_KEY_TYPE.html +1 -0
  411. package/docs/types/GENERIC_MAP_VALUE_TYPE.html +1 -0
  412. package/docs/types/GENERIC_STRUCT_PROPERTY_VALUE.html +1 -0
  413. package/docs/types/GUID-1.html +1 -0
  414. package/docs/types/GUIDInfo-1.html +1 -0
  415. package/docs/types/InventoryItemStructPropertyValue.html +1 -0
  416. package/docs/types/Level-1.html +1 -0
  417. package/docs/types/MAP_STRUCT_KEY_PROXY.html +1 -0
  418. package/docs/types/MD5Hash-1.html +1 -0
  419. package/docs/types/ObjectReference-1.html +1 -0
  420. package/docs/types/PlayerSpecialProperties.html +1 -0
  421. package/docs/types/PowerLineSpecialProperties.html +1 -0
  422. package/docs/types/PropertiesMap.html +1 -0
  423. package/docs/types/RailroadTrackPositionStructPropertyValue.html +1 -0
  424. package/docs/types/RoughSaveVersion.html +1 -0
  425. package/docs/types/SoftObjectReference-1.html +1 -0
  426. package/docs/types/SpecialAnyProperties.html +1 -0
  427. package/docs/types/TextPropertyValue.html +1 -0
  428. package/docs/types/Transform-1.html +1 -0
  429. package/docs/types/col4-1.html +1 -0
  430. package/docs/types/vec2-1.html +1 -0
  431. package/docs/types/vec3-1.html +1 -0
  432. package/docs/types/vec4-1.html +1 -0
  433. package/docs/variables/EDIT.html +1 -0
  434. package/package.json +5 -10
  435. package/build/parser/satisfactory/objects/DataFields.d.ts +0 -15
  436. package/build/parser/satisfactory/objects/DataFields.js +0 -491
  437. package/build/parser/satisfactory/objects/GUIDInfo.d.ts +0 -8
  438. package/build/parser/satisfactory/objects/GUIDInfo.js +0 -26
  439. package/build/parser/satisfactory/objects/SaveComponent.d.ts +0 -19
  440. package/build/parser/satisfactory/objects/SaveComponent.js +0 -31
  441. package/build/parser/satisfactory/objects/SaveEntity.d.ts +0 -30
  442. package/build/parser/satisfactory/objects/SaveEntity.js +0 -66
  443. package/build/parser/satisfactory/objects/SaveObject.d.ts +0 -24
  444. package/build/parser/satisfactory/objects/SaveObject.js +0 -33
  445. package/build/parser/satisfactory/objects/property/generic/ArrayProperty.d.ts +0 -21
  446. package/build/parser/satisfactory/objects/property/generic/ArrayProperty.js +0 -169
  447. package/build/parser/satisfactory/objects/property/generic/BasicProperty.d.ts +0 -25
  448. package/build/parser/satisfactory/objects/property/generic/BasicProperty.js +0 -27
  449. package/build/parser/satisfactory/objects/property/generic/BoolProperty.d.ts +0 -13
  450. package/build/parser/satisfactory/objects/property/generic/BoolProperty.js +0 -30
  451. package/build/parser/satisfactory/objects/property/generic/ByteProperty.d.ts +0 -17
  452. package/build/parser/satisfactory/objects/property/generic/ByteProperty.js +0 -50
  453. package/build/parser/satisfactory/objects/property/generic/DoubleProperty.d.ts +0 -13
  454. package/build/parser/satisfactory/objects/property/generic/DoubleProperty.js +0 -30
  455. package/build/parser/satisfactory/objects/property/generic/EnumProperty.d.ts +0 -19
  456. package/build/parser/satisfactory/objects/property/generic/EnumProperty.js +0 -33
  457. package/build/parser/satisfactory/objects/property/generic/FloatProperty.d.ts +0 -13
  458. package/build/parser/satisfactory/objects/property/generic/FloatProperty.js +0 -30
  459. package/build/parser/satisfactory/objects/property/generic/Int32Property.d.ts +0 -13
  460. package/build/parser/satisfactory/objects/property/generic/Int32Property.js +0 -30
  461. package/build/parser/satisfactory/objects/property/generic/Int64Property.d.ts +0 -13
  462. package/build/parser/satisfactory/objects/property/generic/Int64Property.js +0 -30
  463. package/build/parser/satisfactory/objects/property/generic/Int8Property.d.ts +0 -13
  464. package/build/parser/satisfactory/objects/property/generic/Int8Property.js +0 -30
  465. package/build/parser/satisfactory/objects/property/generic/MapProperty.d.ts +0 -21
  466. package/build/parser/satisfactory/objects/property/generic/MapProperty.js +0 -160
  467. package/build/parser/satisfactory/objects/property/generic/ObjectProperty.d.ts +0 -14
  468. package/build/parser/satisfactory/objects/property/generic/ObjectProperty.js +0 -35
  469. package/build/parser/satisfactory/objects/property/generic/SetProperty.d.ts +0 -11
  470. package/build/parser/satisfactory/objects/property/generic/SetProperty.js +0 -92
  471. package/build/parser/satisfactory/objects/property/generic/SoftObjectProperty.d.ts +0 -12
  472. package/build/parser/satisfactory/objects/property/generic/SoftObjectProperty.js +0 -25
  473. package/build/parser/satisfactory/objects/property/generic/StrProperty.d.ts +0 -13
  474. package/build/parser/satisfactory/objects/property/generic/StrProperty.js +0 -30
  475. package/build/parser/satisfactory/objects/property/generic/StructProperty.d.ts +0 -66
  476. package/build/parser/satisfactory/objects/property/generic/StructProperty.js +0 -361
  477. package/build/parser/satisfactory/objects/property/generic/TextProperty.d.ts +0 -29
  478. package/build/parser/satisfactory/objects/property/generic/TextProperty.js +0 -109
  479. package/build/parser/satisfactory/objects/property/generic/Uint32Property.d.ts +0 -13
  480. package/build/parser/satisfactory/objects/property/generic/Uint32Property.js +0 -30
  481. package/build/parser/satisfactory/objects/property/generic/Uint64Property.d.ts +0 -13
  482. package/build/parser/satisfactory/objects/property/generic/Uint64Property.js +0 -30
  483. package/build/parser/satisfactory/objects/property/generic/Uint8Property.d.ts +0 -13
  484. package/build/parser/satisfactory/objects/property/generic/Uint8Property.js +0 -30
  485. package/build/parser/satisfactory/objects/property/special/SpecialAnyProperty.d.ts +0 -52
  486. package/build/parser/satisfactory/objects/property/special/SpecialAnyProperty.js +0 -2
  487. package/build/parser/satisfactory/objects/ue/MD5Hash.d.ts +0 -10
  488. package/build/parser/satisfactory/objects/ue/MD5Hash.js +0 -21
  489. package/build/parser/satisfactory/objects/values/GUID.d.ts +0 -7
  490. package/build/parser/satisfactory/objects/values/GUID.js +0 -21
  491. package/build/parser/satisfactory/objects/values/ObjectReference.d.ts +0 -10
  492. package/build/parser/satisfactory/objects/values/ObjectReference.js +0 -17
  493. package/build/parser/satisfactory/objects/values/SoftObjectReference.d.ts +0 -11
  494. package/build/parser/satisfactory/objects/values/SoftObjectReference.js +0 -19
  495. package/build/parser/satisfactory/structs/util.types.d.ts +0 -60
  496. package/build/parser/satisfactory/structs/util.types.js +0 -147
  497. package/build/parser/satisfactory/types/property/DataFields.d.ts +0 -15
  498. package/build/parser/satisfactory/types/property/DataFields.js +0 -493
  499. package/build/parser/satisfactory/types/property/special/SpecialAnyProperty.d.ts +0 -54
  500. package/build/parser/satisfactory/types/property/special/SpecialAnyProperty.js +0 -2
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@etothepii/satisfactory-file-parser",
3
3
  "author": "etothepii",
4
- "version": "0.5.1",
4
+ "version": "1.0.2",
5
5
  "description": "A file parser for satisfactory files. Includes save files and blueprint files.",
6
6
  "types": "./build/index.d.ts",
7
7
  "main": "./build/index.js",
@@ -15,8 +15,8 @@
15
15
  ],
16
16
  "scripts": {
17
17
  "test": "set PARSER_DEBUG=debug&& jest --config=jest.config.json --max_old_space_size=30720",
18
- "build": "tsc && npm run bundle",
19
- "bundle": "npx webpack && dts-bundle-generator -o dist/index.d.ts src/index.ts",
18
+ "doc": "typedoc src/index.ts",
19
+ "build": "tsc && npm run doc",
20
20
  "prepublishOnly": "npm run build && npm version patch"
21
21
  },
22
22
  "repository": {
@@ -32,17 +32,12 @@
32
32
  "@types/jest": "^29.5.0",
33
33
  "@types/node": "^18.15.10",
34
34
  "@types/pako": "^2.0.0",
35
- "dts-bundle-generator": "^8.0.0",
36
35
  "jest": "^29.5.0",
37
- "json-stream-stringify": "^3.0.1",
38
- "JSONStream": "^1.3.5",
39
- "npm-dts": "^1.3.12",
40
36
  "ts-jest": "^29.0.5",
41
37
  "ts-loader": "^9.4.2",
42
38
  "ts-node": "^10.9.1",
43
- "typescript": "^5.0.2",
44
- "webpack": "^5.78.0",
45
- "webpack-cli": "^5.0.1"
39
+ "typedoc": "^0.26.10",
40
+ "typescript": "^5.0.2"
46
41
  },
47
42
  "dependencies": {
48
43
  "pako": "^2.1.0"
@@ -1,15 +0,0 @@
1
- import { BinaryReadable } from "../../byte/binary-readable.interface";
2
- import { ByteWriter } from '../../byte/byte-writer.class';
3
- import { SaveWriter } from "../save/save-writer";
4
- import { AbstractBaseProperty } from "./property/generic/BasicProperty";
5
- import { SpecialAnyProperty } from './property/special/SpecialAnyProperty';
6
- import { SaveObject } from "./SaveObject";
7
- export declare class DataFields {
8
- constructor();
9
- static ParseProperties(obj: SaveObject, length: number, reader: BinaryReadable, buildVersion: number, typePath: string): void;
10
- static ParseAdditionalSpecialProperties(reader: BinaryReadable, typePath: string, remainingLen: number): SpecialAnyProperty;
11
- static ParseProperty(reader: BinaryReadable, buildVersion: number, propertyName: string): AbstractBaseProperty;
12
- static Serialize(obj: SaveObject, writer: SaveWriter, buildVersion: number, typePath: string): void;
13
- static SerializeAdditionalSpecialProperties(writer: ByteWriter, typePath: string, property: SpecialAnyProperty): void;
14
- static SerializeProperty(writer: ByteWriter, property: AbstractBaseProperty, propertyName: string, buildVersion: number): void;
15
- }
@@ -1,491 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataFields = void 0;
4
- const parser_error_1 = require("../../error/parser.error");
5
- const util_types_1 = require("../structs/util.types");
6
- const ArrayProperty_1 = require("./property/generic/ArrayProperty");
7
- const BoolProperty_1 = require("./property/generic/BoolProperty");
8
- const ByteProperty_1 = require("./property/generic/ByteProperty");
9
- const DoubleProperty_1 = require("./property/generic/DoubleProperty");
10
- const EnumProperty_1 = require("./property/generic/EnumProperty");
11
- const FloatProperty_1 = require("./property/generic/FloatProperty");
12
- const Int32Property_1 = require("./property/generic/Int32Property");
13
- const Int64Property_1 = require("./property/generic/Int64Property");
14
- const Int8Property_1 = require("./property/generic/Int8Property");
15
- const MapProperty_1 = require("./property/generic/MapProperty");
16
- const ObjectProperty_1 = require("./property/generic/ObjectProperty");
17
- const SetProperty_1 = require("./property/generic/SetProperty");
18
- const SoftObjectProperty_1 = require("./property/generic/SoftObjectProperty");
19
- const StrProperty_1 = require("./property/generic/StrProperty");
20
- const StructProperty_1 = require("./property/generic/StructProperty");
21
- const TextProperty_1 = require("./property/generic/TextProperty");
22
- const Uint32Property_1 = require("./property/generic/Uint32Property");
23
- const Uint64Property_1 = require("./property/generic/Uint64Property");
24
- const Uint8Property_1 = require("./property/generic/Uint8Property");
25
- const ObjectReference_1 = require("./values/ObjectReference");
26
- class DataFields {
27
- constructor() {
28
- }
29
- static ParseProperties(obj, length, reader, buildVersion, typePath) {
30
- const start = reader.getBufferPosition();
31
- obj.properties = {};
32
- if (length === 0) {
33
- console.warn(`properties length for object ${obj.instanceName} was indicated as 0. Which is suspicious. Skipping object properties.`);
34
- return;
35
- }
36
- let propertyName = reader.readString();
37
- while (propertyName !== 'None') {
38
- const parsedProperty = DataFields.ParseProperty(reader, buildVersion, propertyName);
39
- if (obj.properties[propertyName]) {
40
- if (!Array.isArray(obj.properties[propertyName])) {
41
- obj.properties[propertyName] = [obj.properties[propertyName]];
42
- }
43
- obj.properties[propertyName].push(parsedProperty);
44
- }
45
- else {
46
- obj.properties[propertyName] = parsedProperty;
47
- }
48
- propertyName = reader.readString();
49
- }
50
- reader.readInt32();
51
- const remainingLen = length - (reader.getBufferPosition() - start);
52
- obj.specialProperties = DataFields.ParseAdditionalSpecialProperties(reader, typePath, remainingLen);
53
- const remainingSize = length - (reader.getBufferPosition() - start);
54
- if (remainingSize > 0) {
55
- obj.trailingData = Array.from(reader.readBytes(remainingSize));
56
- }
57
- else if (remainingSize < 0) {
58
- throw new parser_error_1.ParserError('ParserError', `Unexpected. Read more bytes than are indicated for entity ${obj.instanceName}. bytes left to read is ${remainingSize}`);
59
- }
60
- }
61
- static ParseAdditionalSpecialProperties(reader, typePath, remainingLen) {
62
- let property;
63
- const start = reader.getBufferPosition();
64
- switch (typePath) {
65
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk1/Build_ConveyorBeltMk1.Build_ConveyorBeltMk1_C':
66
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk2/Build_ConveyorBeltMk2.Build_ConveyorBeltMk2_C':
67
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk3/Build_ConveyorBeltMk3.Build_ConveyorBeltMk3_C':
68
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk4/Build_ConveyorBeltMk4.Build_ConveyorBeltMk4_C':
69
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk5/Build_ConveyorBeltMk5.Build_ConveyorBeltMk5_C':
70
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk6/Build_ConveyorBeltMk6.Build_ConveyorBeltMk6_C':
71
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk1/Build_ConveyorLiftMk1.Build_ConveyorLiftMk1_C':
72
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk2/Build_ConveyorLiftMk2.Build_ConveyorLiftMk2_C':
73
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk3/Build_ConveyorLiftMk3.Build_ConveyorLiftMk3_C':
74
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk4/Build_ConveyorLiftMk4.Build_ConveyorLiftMk4_C':
75
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk5/Build_ConveyorLiftMk5.Build_ConveyorLiftMk5_C':
76
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk6/Build_ConveyorLiftMk6.Build_ConveyorLiftMk6_C':
77
- reader.readInt32();
78
- property = {};
79
- break;
80
- case '/Script/FactoryGame.FGConveyorChainActor':
81
- const lastBelt = ObjectReference_1.ObjectReference.read(reader);
82
- const firstBelt = ObjectReference_1.ObjectReference.read(reader);
83
- const countBeltsInChain = reader.readInt32();
84
- const beltsInChain = [];
85
- for (let i = 0; i < countBeltsInChain; i++) {
86
- const chainActorRef = ObjectReference_1.ObjectReference.read(reader);
87
- const beltRef = ObjectReference_1.ObjectReference.read(reader);
88
- const someCount = reader.readInt32();
89
- const unknownUseBytes = Array.from(reader.readBytes(someCount * 3 * 24 + 12));
90
- const firstItemIndex = reader.readInt32();
91
- const lastItemIndex = reader.readInt32();
92
- const beltIndexInChain = reader.readInt32();
93
- beltsInChain.push({
94
- chainActorRef,
95
- beltRef,
96
- someCount,
97
- unknownUseBytes,
98
- firstItemIndex,
99
- lastItemIndex,
100
- beltIndexInChain
101
- });
102
- }
103
- const unknownInts = [reader.readInt32(), reader.readInt32()];
104
- const firstChainItemIndex = reader.readInt32();
105
- const lastChainItemIndex = reader.readInt32();
106
- const countItemsInChain = reader.readInt32();
107
- const items = [];
108
- for (let n = 0; n < countItemsInChain; n++) {
109
- reader.readInt32();
110
- const itemName = reader.readString();
111
- reader.readInt32();
112
- const position = reader.readInt32();
113
- items.push({ itemName, position });
114
- }
115
- property = {
116
- firstBelt: firstBelt,
117
- lastBelt: lastBelt,
118
- beltsInChain,
119
- unknownInts,
120
- firstChainItemIndex,
121
- lastChainItemIndex,
122
- items
123
- };
124
- break;
125
- case '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C':
126
- case '/Game/FactoryGame/Events/Christmas/Buildings/PowerLineLights/Build_XmassLightsLine.Build_XmassLightsLine_C':
127
- property = {
128
- source: ObjectProperty_1.ObjectProperty.ReadValue(reader),
129
- target: ObjectProperty_1.ObjectProperty.ReadValue(reader)
130
- };
131
- if (remainingLen - (reader.getBufferPosition() - start) >= 24) {
132
- property.sourceTranslation = util_types_1.vec3.ParseF(reader);
133
- property.targetTranslation = util_types_1.vec3.ParseF(reader);
134
- }
135
- break;
136
- case '/Game/FactoryGame/Character/Player/BP_PlayerState.BP_PlayerState_C':
137
- property = {};
138
- property.flag = reader.readByte();
139
- switch (property.flag) {
140
- case 248:
141
- const eos = reader.readString();
142
- property.eosData = reader.readString();
143
- break;
144
- case 25:
145
- break;
146
- default:
147
- break;
148
- }
149
- break;
150
- case '/Script/FactoryGame.FGLightweightBuildableSubsystem':
151
- property = { buildables: [] };
152
- const entriesCount = reader.readInt32();
153
- if (entriesCount > 0) {
154
- for (let i = 0; i < entriesCount; i++) {
155
- reader.readInt32();
156
- const typePath = reader.readString();
157
- const count = reader.readInt32();
158
- const instances = [];
159
- for (let j = 0; j < count; j++) {
160
- const transform = util_types_1.Transform.Parse(reader);
161
- reader.readInt32();
162
- const swatchSlotTypePath = reader.readString();
163
- reader.readInt32();
164
- reader.readInt64();
165
- const patternPath = reader.readString();
166
- const zeroes = util_types_1.vec2.Parse(reader);
167
- const oneZeroOne = util_types_1.vec3.Parse(reader);
168
- const unknownUseNumbers = [zeroes, oneZeroOne];
169
- reader.readInt32();
170
- const paintFinishPath = reader.readString();
171
- reader.readInt32();
172
- reader.readBytes(1);
173
- const recipeTypePath = reader.readString();
174
- const blueprintProxy = ObjectReference_1.ObjectReference.read(reader);
175
- instances.push({
176
- transform,
177
- unknownUseNumbers,
178
- swatchSlotTypePath,
179
- paintFinishPath,
180
- recipeTypePath,
181
- patternPath,
182
- blueprintProxy
183
- });
184
- }
185
- property.buildables.push({
186
- typePath,
187
- instances
188
- });
189
- }
190
- }
191
- break;
192
- default:
193
- property = {};
194
- break;
195
- }
196
- return property;
197
- }
198
- static ParseProperty(reader, buildVersion, propertyName) {
199
- let currentProperty = {};
200
- const propertyType = reader.readString();
201
- const binarySize = reader.readInt32();
202
- const index = reader.readInt32();
203
- const before = reader.getBufferPosition();
204
- let overhead = 0;
205
- switch (propertyType) {
206
- case 'BoolProperty':
207
- currentProperty = BoolProperty_1.BoolProperty.Parse(reader, propertyType, index);
208
- overhead = BoolProperty_1.BoolProperty.CalcOverhead(currentProperty);
209
- break;
210
- case 'ByteProperty':
211
- currentProperty = ByteProperty_1.ByteProperty.Parse(reader, propertyType, index);
212
- overhead = ByteProperty_1.ByteProperty.CalcOverhead(currentProperty);
213
- break;
214
- case 'Int8Property':
215
- currentProperty = Int8Property_1.Int8Property.Parse(reader, propertyType, index);
216
- overhead = Int8Property_1.Int8Property.CalcOverhead(currentProperty);
217
- break;
218
- case 'UInt8Property':
219
- currentProperty = Uint8Property_1.Uint8Property.Parse(reader, propertyType, index);
220
- overhead = Uint8Property_1.Uint8Property.CalcOverhead(currentProperty);
221
- break;
222
- case 'IntProperty':
223
- case 'Int32Property':
224
- currentProperty = Int32Property_1.Int32Property.Parse(reader, propertyType, index);
225
- overhead = Int32Property_1.Int32Property.CalcOverhead(currentProperty);
226
- break;
227
- case 'UInt32Property':
228
- currentProperty = Uint32Property_1.Uint32Property.Parse(reader, propertyType, index);
229
- overhead = Uint32Property_1.Uint32Property.CalcOverhead(currentProperty);
230
- break;
231
- case 'Int64Property':
232
- currentProperty = Int64Property_1.Int64Property.Parse(reader, propertyType, index);
233
- overhead = Int64Property_1.Int64Property.CalcOverhead(currentProperty);
234
- break;
235
- case 'UInt64Property':
236
- currentProperty = Uint64Property_1.UInt64Property.Parse(reader, propertyType, index);
237
- break;
238
- case 'SingleProperty':
239
- case 'FloatProperty':
240
- currentProperty = FloatProperty_1.FloatProperty.Parse(reader, propertyType, index);
241
- overhead = FloatProperty_1.FloatProperty.CalcOverhead(currentProperty);
242
- break;
243
- case 'DoubleProperty':
244
- currentProperty = DoubleProperty_1.DoubleProperty.Parse(reader, propertyType, index);
245
- overhead = DoubleProperty_1.DoubleProperty.CalcOverhead(currentProperty);
246
- break;
247
- case 'StrProperty':
248
- case 'NameProperty':
249
- currentProperty = StrProperty_1.StrProperty.Parse(reader, propertyType, index);
250
- overhead = StrProperty_1.StrProperty.CalcOverhead(currentProperty);
251
- break;
252
- case 'ObjectProperty':
253
- case 'InterfaceProperty':
254
- currentProperty = ObjectProperty_1.ObjectProperty.Parse(reader, propertyType, index);
255
- overhead = ObjectProperty_1.ObjectProperty.CalcOverhead(currentProperty);
256
- break;
257
- case 'SoftObjectProperty':
258
- currentProperty = SoftObjectProperty_1.SoftObjectProperty.Parse(reader, propertyType, index);
259
- overhead = SoftObjectProperty_1.SoftObjectProperty.CalcOverhead(currentProperty);
260
- break;
261
- case 'EnumProperty':
262
- currentProperty = EnumProperty_1.EnumProperty.Parse(reader, propertyType, index);
263
- overhead = EnumProperty_1.EnumProperty.CalcOverhead(currentProperty);
264
- break;
265
- case 'StructProperty':
266
- currentProperty = StructProperty_1.StructProperty.Parse(reader, propertyType, index, binarySize);
267
- overhead = StructProperty_1.StructProperty.CalcOverhead(currentProperty);
268
- break;
269
- case 'ArrayProperty':
270
- currentProperty = ArrayProperty_1.ArrayProperty.Parse(reader, propertyType, index, propertyName);
271
- overhead = ArrayProperty_1.ArrayProperty.CalcOverhead(currentProperty);
272
- break;
273
- case 'MapProperty':
274
- currentProperty = MapProperty_1.MapProperty.Parse(reader, propertyName, buildVersion, binarySize);
275
- overhead = MapProperty_1.MapProperty.CalcOverhead(currentProperty);
276
- break;
277
- case 'TextProperty':
278
- currentProperty = TextProperty_1.TextProperty.Parse(reader, propertyType, index);
279
- overhead = TextProperty_1.TextProperty.CalcOverhead(currentProperty);
280
- break;
281
- case 'SetProperty':
282
- currentProperty = SetProperty_1.SetProperty.Parse(reader, propertyType, index, propertyName);
283
- overhead = SetProperty_1.SetProperty.CalcOverhead(currentProperty);
284
- break;
285
- default:
286
- throw new Error(`Unimplemented type ${propertyType}`);
287
- }
288
- currentProperty.name = propertyName;
289
- const readBytes = reader.getBufferPosition() - before - overhead;
290
- if (readBytes !== binarySize) {
291
- console.warn(`possibly corrupt. Read ${readBytes} for ${propertyType} ${propertyName}, but ${binarySize} were indicated.`);
292
- throw new parser_error_1.ParserError('ParserError', `possibly corrupt. Read ${readBytes} bytes for ${propertyType} ${propertyName}, but ${binarySize} bytes were indicated.`);
293
- }
294
- return currentProperty;
295
- }
296
- static Serialize(obj, writer, buildVersion, typePath) {
297
- for (const property of Object.values(obj.properties).flatMap(val => Array.isArray(val) ? val : [val])) {
298
- writer.writeString(property.name);
299
- DataFields.SerializeProperty(writer, property, property.name, buildVersion);
300
- }
301
- writer.writeString('None');
302
- writer.writeInt32(0);
303
- DataFields.SerializeAdditionalSpecialProperties(writer, typePath, obj.specialProperties);
304
- writer.writeBytesArray(obj.trailingData);
305
- }
306
- static SerializeAdditionalSpecialProperties(writer, typePath, property) {
307
- switch (typePath) {
308
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk1/Build_ConveyorBeltMk1.Build_ConveyorBeltMk1_C':
309
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk2/Build_ConveyorBeltMk2.Build_ConveyorBeltMk2_C':
310
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk3/Build_ConveyorBeltMk3.Build_ConveyorBeltMk3_C':
311
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk4/Build_ConveyorBeltMk4.Build_ConveyorBeltMk4_C':
312
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk5/Build_ConveyorBeltMk5.Build_ConveyorBeltMk5_C':
313
- case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk6/Build_ConveyorBeltMk6.Build_ConveyorBeltMk6_C':
314
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk1/Build_ConveyorLiftMk1.Build_ConveyorLiftMk1_C':
315
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk2/Build_ConveyorLiftMk2.Build_ConveyorLiftMk2_C':
316
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk3/Build_ConveyorLiftMk3.Build_ConveyorLiftMk3_C':
317
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk4/Build_ConveyorLiftMk4.Build_ConveyorLiftMk4_C':
318
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk5/Build_ConveyorLiftMk5.Build_ConveyorLiftMk5_C':
319
- case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk6/Build_ConveyorLiftMk6.Build_ConveyorLiftMk6_C':
320
- writer.writeInt32(0);
321
- break;
322
- case '/Script/FactoryGame.FGConveyorChainActor':
323
- ObjectReference_1.ObjectReference.write(writer, property.lastBelt);
324
- ObjectReference_1.ObjectReference.write(writer, property.firstBelt);
325
- writer.writeInt32(property.beltsInChain.length);
326
- for (const belt of property.beltsInChain) {
327
- ObjectReference_1.ObjectReference.write(writer, belt.chainActorRef);
328
- ObjectReference_1.ObjectReference.write(writer, belt.beltRef);
329
- writer.writeInt32(belt.someCount);
330
- writer.writeBytesArray(belt.unknownUseBytes);
331
- writer.writeInt32(belt.firstItemIndex);
332
- writer.writeInt32(belt.lastItemIndex);
333
- writer.writeInt32(belt.beltIndexInChain);
334
- }
335
- writer.writeInt32(property.unknownInts[0]);
336
- writer.writeInt32(property.unknownInts[1]);
337
- writer.writeInt32(property.firstChainItemIndex);
338
- writer.writeInt32(property.lastChainItemIndex);
339
- writer.writeInt32(property.items.length);
340
- for (const item of property.items) {
341
- writer.writeInt32(0);
342
- writer.writeString(item.itemName);
343
- writer.writeInt32(0);
344
- writer.writeInt32(item.position);
345
- }
346
- break;
347
- case '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C':
348
- case '/Game/FactoryGame/Events/Christmas/Buildings/PowerLineLights/Build_XmassLightsLine.Build_XmassLightsLine_C':
349
- ObjectProperty_1.ObjectProperty.SerializeValue(writer, property.source);
350
- ObjectProperty_1.ObjectProperty.SerializeValue(writer, property.target);
351
- break;
352
- case '/Game/FactoryGame/Character/Player/BP_PlayerState.BP_PlayerState_C':
353
- writer.writeByte(property.flag);
354
- switch (property.flag) {
355
- case 248:
356
- writer.writeString('EOS');
357
- writer.writeString(property.eosData);
358
- break;
359
- case 25:
360
- break;
361
- default:
362
- break;
363
- }
364
- break;
365
- case '/Script/FactoryGame.FGLightweightBuildableSubsystem':
366
- writer.writeInt32(property.buildables.length);
367
- if (property.buildables.length > 0) {
368
- for (const buildable of property.buildables) {
369
- writer.writeInt32(0);
370
- writer.writeString(buildable.typePath);
371
- writer.writeInt32(buildable.instances.length);
372
- for (const instance of buildable.instances) {
373
- util_types_1.Transform.Serialize(writer, instance.transform);
374
- writer.writeInt32(0);
375
- writer.writeString(instance.swatchSlotTypePath);
376
- writer.writeInt32(0);
377
- writer.writeInt64(0n);
378
- writer.writeString(instance.patternPath);
379
- util_types_1.vec2.Serialize(writer, instance.unknownUseNumbers[0]);
380
- util_types_1.vec3.Serialize(writer, instance.unknownUseNumbers[1]);
381
- writer.writeInt32(0);
382
- writer.writeString(instance.paintFinishPath);
383
- writer.writeInt32(0);
384
- writer.writeByte(0);
385
- writer.writeString(instance.recipeTypePath);
386
- ObjectReference_1.ObjectReference.write(writer, instance.blueprintProxy);
387
- }
388
- }
389
- }
390
- break;
391
- }
392
- }
393
- static SerializeProperty(writer, property, propertyName, buildVersion) {
394
- writer.writeString(property.ueType);
395
- const lenIndicator = writer.getBufferPosition();
396
- writer.writeInt32(0);
397
- writer.writeInt32(property.index ?? 0);
398
- const start = writer.getBufferPosition();
399
- let overhead = 0;
400
- switch (property.ueType) {
401
- case 'BoolProperty':
402
- overhead = BoolProperty_1.BoolProperty.CalcOverhead(property);
403
- BoolProperty_1.BoolProperty.Serialize(writer, property);
404
- break;
405
- case 'ByteProperty':
406
- overhead = ByteProperty_1.ByteProperty.CalcOverhead(property);
407
- ByteProperty_1.ByteProperty.Serialize(writer, property);
408
- break;
409
- case 'Int8Property':
410
- overhead = Int8Property_1.Int8Property.CalcOverhead(property);
411
- Int8Property_1.Int8Property.Serialize(writer, property);
412
- break;
413
- case 'UInt8Property':
414
- overhead = Uint8Property_1.Uint8Property.CalcOverhead(property);
415
- Uint8Property_1.Uint8Property.Serialize(writer, property);
416
- break;
417
- case 'IntProperty':
418
- case 'Int32Property':
419
- overhead = Int32Property_1.Int32Property.CalcOverhead(property);
420
- Int32Property_1.Int32Property.Serialize(writer, property);
421
- break;
422
- case 'UInt32Property':
423
- overhead = Uint32Property_1.Uint32Property.CalcOverhead(property);
424
- Uint32Property_1.Uint32Property.Serialize(writer, property);
425
- break;
426
- case 'Int64Property':
427
- overhead = Int64Property_1.Int64Property.CalcOverhead(property);
428
- Int64Property_1.Int64Property.Serialize(writer, property);
429
- break;
430
- case 'UInt64PRoperty':
431
- overhead = Uint64Property_1.UInt64Property.CalcOverhead(property);
432
- Uint64Property_1.UInt64Property.Serialize(writer, property);
433
- break;
434
- case 'SingleProperty':
435
- case 'FloatProperty':
436
- overhead = FloatProperty_1.FloatProperty.CalcOverhead(property);
437
- FloatProperty_1.FloatProperty.Serialize(writer, property);
438
- break;
439
- case 'DoubleProperty':
440
- overhead = DoubleProperty_1.DoubleProperty.CalcOverhead(property);
441
- DoubleProperty_1.DoubleProperty.Serialize(writer, property);
442
- break;
443
- case 'StrProperty':
444
- case 'NameProperty':
445
- overhead = StrProperty_1.StrProperty.CalcOverhead(property);
446
- StrProperty_1.StrProperty.Serialize(writer, property);
447
- break;
448
- case 'ObjectProperty':
449
- case 'InterfaceProperty':
450
- overhead = ObjectProperty_1.ObjectProperty.CalcOverhead(property);
451
- ObjectProperty_1.ObjectProperty.Serialize(writer, property);
452
- break;
453
- case 'SoftObjectProperty':
454
- overhead = SoftObjectProperty_1.SoftObjectProperty.CalcOverhead(property);
455
- SoftObjectProperty_1.SoftObjectProperty.Serialize(writer, property);
456
- break;
457
- case 'EnumProperty':
458
- overhead = EnumProperty_1.EnumProperty.CalcOverhead(property);
459
- EnumProperty_1.EnumProperty.Serialize(writer, property);
460
- break;
461
- case 'ByteProperty':
462
- overhead = ByteProperty_1.ByteProperty.CalcOverhead(property);
463
- ByteProperty_1.ByteProperty.Serialize(writer, property);
464
- break;
465
- case 'StructProperty':
466
- overhead = StructProperty_1.StructProperty.CalcOverhead(property);
467
- StructProperty_1.StructProperty.Serialize(writer, property);
468
- break;
469
- case 'ArrayProperty':
470
- overhead = ArrayProperty_1.ArrayProperty.CalcOverhead(property);
471
- ArrayProperty_1.ArrayProperty.Serialize(writer, property, propertyName);
472
- break;
473
- case 'MapProperty':
474
- overhead = MapProperty_1.MapProperty.CalcOverhead(property);
475
- MapProperty_1.MapProperty.Serialize(writer, property);
476
- break;
477
- case 'TextProperty':
478
- overhead = TextProperty_1.TextProperty.CalcOverhead(property);
479
- TextProperty_1.TextProperty.Serialize(writer, property);
480
- break;
481
- case 'SetProperty':
482
- overhead = SetProperty_1.SetProperty.CalcOverhead(property);
483
- SetProperty_1.SetProperty.Serialize(writer, property);
484
- break;
485
- default:
486
- throw new Error(`Unimplemented type ${property.type}`);
487
- }
488
- writer.writeBinarySizeFromPosition(lenIndicator, start + overhead);
489
- }
490
- }
491
- exports.DataFields = DataFields;
@@ -1,8 +0,0 @@
1
- import { BinaryReadable } from '../../byte/binary-readable.interface';
2
- import { ByteWriter } from '../../byte/byte-writer.class';
3
- import { GUID } from './values/GUID';
4
- export type GUIDInfo = undefined | GUID;
5
- export declare namespace GUIDInfo {
6
- const read: (reader: BinaryReadable) => GUIDInfo;
7
- const write: (writer: ByteWriter, guid: GUIDInfo) => void;
8
- }
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GUIDInfo = void 0;
4
- const GUID_1 = require("./values/GUID");
5
- var GUIDInfo;
6
- (function (GUIDInfo) {
7
- GUIDInfo.read = (reader) => {
8
- if (reader.readByte() === 1) {
9
- return GUID_1.GUID.read(reader);
10
- }
11
- else {
12
- return undefined;
13
- }
14
- };
15
- GUIDInfo.write = (writer, guid) => {
16
- if (guid === undefined) {
17
- writer.writeByte(0);
18
- return;
19
- }
20
- else {
21
- writer.writeByte(1);
22
- GUID_1.GUID.write(writer, guid);
23
- }
24
- };
25
- })(GUIDInfo || (exports.GUIDInfo = GUIDInfo = {}));
26
- ;
@@ -1,19 +0,0 @@
1
- import { BinaryReadable } from "../../byte/binary-readable.interface";
2
- import { ByteWriter } from "../../byte/byte-writer.class";
3
- import { SaveObject, SaveObjectHeader } from "./SaveObject";
4
- export declare const isSaveComponent: (obj: any) => obj is SaveComponent;
5
- export interface SaveComponentHeader extends SaveObjectHeader {
6
- parentEntityName: string;
7
- }
8
- export declare class SaveComponent extends SaveObject implements SaveComponentHeader {
9
- typePath: string;
10
- rootObject: string;
11
- instanceName: string;
12
- parentEntityName: string;
13
- static readonly TypeID = 0;
14
- readonly type = "SaveComponent";
15
- constructor(typePath: string, rootObject: string, instanceName: string, parentEntityName?: string);
16
- static ParseHeader(reader: BinaryReadable, obj: SaveComponent): void;
17
- static SerializeHeader(writer: ByteWriter, component: SaveComponent): void;
18
- static ParseData(component: SaveComponent, length: number, reader: BinaryReadable, buildVersion: number, typePath: string): void;
19
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SaveComponent = exports.isSaveComponent = void 0;
4
- const SaveObject_1 = require("./SaveObject");
5
- const isSaveComponent = (obj) => {
6
- return obj.type === 'SaveComponent';
7
- };
8
- exports.isSaveComponent = isSaveComponent;
9
- class SaveComponent extends SaveObject_1.SaveObject {
10
- constructor(typePath, rootObject, instanceName, parentEntityName = '') {
11
- super(typePath, rootObject, instanceName);
12
- this.typePath = typePath;
13
- this.rootObject = rootObject;
14
- this.instanceName = instanceName;
15
- this.parentEntityName = parentEntityName;
16
- this.type = 'SaveComponent';
17
- }
18
- static ParseHeader(reader, obj) {
19
- SaveObject_1.SaveObject.ParseHeader(reader, obj);
20
- obj.parentEntityName = reader.readString();
21
- }
22
- static SerializeHeader(writer, component) {
23
- SaveObject_1.SaveObject.SerializeHeader(writer, component);
24
- writer.writeString(component.parentEntityName);
25
- }
26
- static ParseData(component, length, reader, buildVersion, typePath) {
27
- SaveObject_1.SaveObject.ParseData(component, length, reader, buildVersion, typePath);
28
- }
29
- }
30
- exports.SaveComponent = SaveComponent;
31
- SaveComponent.TypeID = 0;