@etothepii/satisfactory-file-parser 0.4.5 → 0.4.7

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 (51) hide show
  1. package/README.md +1 -1
  2. package/build/index.d.ts +23 -3
  3. package/build/index.js +24 -5
  4. package/build/parser/satisfactory/edit/edit-constants.d.ts +12 -0
  5. package/build/parser/satisfactory/edit/edit-constants.js +12 -0
  6. package/build/parser/satisfactory/objects/DataFields.d.ts +2 -37
  7. package/build/parser/satisfactory/objects/DataFields.js +185 -75
  8. package/build/parser/satisfactory/objects/SaveObject.d.ts +2 -2
  9. package/build/parser/satisfactory/objects/property/generic/ArrayProperty.d.ts +21 -0
  10. package/build/parser/satisfactory/objects/property/generic/ArrayProperty.js +169 -0
  11. package/build/parser/satisfactory/objects/property/generic/BasicProperty.d.ts +25 -0
  12. package/build/parser/satisfactory/objects/property/generic/BasicProperty.js +27 -0
  13. package/build/parser/satisfactory/objects/property/generic/BoolProperty.d.ts +13 -0
  14. package/build/parser/satisfactory/objects/property/generic/BoolProperty.js +30 -0
  15. package/build/parser/satisfactory/objects/property/generic/ByteProperty.d.ts +17 -0
  16. package/build/parser/satisfactory/objects/property/generic/ByteProperty.js +50 -0
  17. package/build/parser/satisfactory/objects/property/generic/DoubleProperty.d.ts +13 -0
  18. package/build/parser/satisfactory/objects/property/generic/DoubleProperty.js +30 -0
  19. package/build/parser/satisfactory/objects/property/generic/EnumProperty.d.ts +19 -0
  20. package/build/parser/satisfactory/objects/property/generic/EnumProperty.js +33 -0
  21. package/build/parser/satisfactory/objects/property/generic/FloatProperty.d.ts +13 -0
  22. package/build/parser/satisfactory/objects/property/generic/FloatProperty.js +30 -0
  23. package/build/parser/satisfactory/objects/property/generic/Int32Property.d.ts +13 -0
  24. package/build/parser/satisfactory/objects/property/generic/Int32Property.js +30 -0
  25. package/build/parser/satisfactory/objects/property/generic/Int64Property.d.ts +13 -0
  26. package/build/parser/satisfactory/objects/property/generic/Int64Property.js +30 -0
  27. package/build/parser/satisfactory/objects/property/generic/Int8Property.d.ts +13 -0
  28. package/build/parser/satisfactory/objects/property/generic/Int8Property.js +30 -0
  29. package/build/parser/satisfactory/objects/property/generic/MapProperty.d.ts +21 -0
  30. package/build/parser/satisfactory/objects/property/generic/MapProperty.js +160 -0
  31. package/build/parser/satisfactory/objects/property/generic/ObjectProperty.d.ts +14 -0
  32. package/build/parser/satisfactory/objects/property/generic/ObjectProperty.js +35 -0
  33. package/build/parser/satisfactory/objects/property/generic/SetProperty.d.ts +11 -0
  34. package/build/parser/satisfactory/objects/property/generic/SetProperty.js +89 -0
  35. package/build/parser/satisfactory/objects/property/generic/SoftObjectProperty.d.ts +12 -0
  36. package/build/parser/satisfactory/objects/property/generic/SoftObjectProperty.js +25 -0
  37. package/build/parser/satisfactory/objects/property/generic/StrProperty.d.ts +13 -0
  38. package/build/parser/satisfactory/objects/property/generic/StrProperty.js +30 -0
  39. package/build/parser/satisfactory/objects/property/generic/StructProperty.d.ts +69 -0
  40. package/build/parser/satisfactory/objects/property/generic/StructProperty.js +340 -0
  41. package/build/parser/satisfactory/objects/property/generic/TextProperty.d.ts +29 -0
  42. package/build/parser/satisfactory/objects/property/generic/TextProperty.js +109 -0
  43. package/build/parser/satisfactory/objects/property/generic/Uint32Property.d.ts +13 -0
  44. package/build/parser/satisfactory/objects/property/generic/Uint32Property.js +30 -0
  45. package/build/parser/satisfactory/objects/property/generic/Uint64Property.d.ts +13 -0
  46. package/build/parser/satisfactory/objects/property/generic/Uint64Property.js +30 -0
  47. package/build/parser/satisfactory/objects/property/generic/Uint8Property.d.ts +13 -0
  48. package/build/parser/satisfactory/objects/property/generic/Uint8Property.js +30 -0
  49. package/build/parser/satisfactory/objects/property/special/SpecialAnyProperty.d.ts +49 -0
  50. package/build/parser/satisfactory/objects/property/special/SpecialAnyProperty.js +2 -0
  51. package/package.json +2 -2
package/README.md CHANGED
@@ -18,7 +18,7 @@ Game Version Files of U5 and below are NOT supported.
18
18
  | <= U5 | ❌ |
19
19
  | U6 + U7 | ✅ 0.0.1 - 0.0.34 |
20
20
  | U8 | ✅ 0.1.20 - 0.3.7 |
21
- | U1.0 | ✅ >= 0.4.5 |
21
+ | U1.0 | ✅ >= 0.4.7 |
22
22
 
23
23
 
24
24
  ## Installation via npm
package/build/index.d.ts CHANGED
@@ -1,15 +1,36 @@
1
1
  export * from './parser/satisfactory/blueprint/blueprint.types';
2
2
  export { DataFields } from './parser/satisfactory/objects/DataFields';
3
3
  export * from './parser/satisfactory/objects/GUIDInfo';
4
- export * from './parser/satisfactory/objects/Property';
4
+ export * from './parser/satisfactory/objects/property/generic/ArrayProperty';
5
+ export * from './parser/satisfactory/objects/property/generic/BasicProperty';
6
+ export * from './parser/satisfactory/objects/property/generic/BoolProperty';
7
+ export * from './parser/satisfactory/objects/property/generic/ByteProperty';
8
+ export * from './parser/satisfactory/objects/property/generic/DoubleProperty';
9
+ export * from './parser/satisfactory/objects/property/generic/EnumProperty';
10
+ export * from './parser/satisfactory/objects/property/generic/FloatProperty';
11
+ export * from './parser/satisfactory/objects/property/generic/Int32Property';
12
+ export * from './parser/satisfactory/objects/property/generic/Int64Property';
13
+ export * from './parser/satisfactory/objects/property/generic/Int8Property';
14
+ export * from './parser/satisfactory/objects/property/generic/MapProperty';
15
+ export * from './parser/satisfactory/objects/property/generic/ObjectProperty';
16
+ export * from './parser/satisfactory/objects/property/generic/SetProperty';
17
+ export * from './parser/satisfactory/objects/property/generic/StrProperty';
18
+ export * from './parser/satisfactory/objects/property/generic/StructProperty';
19
+ export * from './parser/satisfactory/objects/property/generic/TextProperty';
20
+ export * from './parser/satisfactory/objects/property/generic/Uint32Property';
21
+ export * from './parser/satisfactory/objects/property/generic/Uint64Property';
22
+ export * from './parser/satisfactory/objects/property/generic/Uint8Property';
23
+ export * from './parser/satisfactory/objects/property/special/SpecialAnyProperty';
5
24
  export { SaveComponent } from './parser/satisfactory/objects/SaveComponent';
6
25
  export { SaveEntity } from './parser/satisfactory/objects/SaveEntity';
7
26
  export * from './parser/satisfactory/objects/ue/MD5Hash';
8
27
  export * from './parser/satisfactory/objects/values/GUID';
9
- export { ObjectReference } from './parser/satisfactory/objects/values/ObjectReference';
28
+ export * from './parser/satisfactory/objects/values/ObjectReference';
29
+ export * from './parser/satisfactory/objects/values/SoftObjectReference';
10
30
  export { Level } from './parser/satisfactory/save/level.class';
11
31
  export { SatisfactorySave } from './parser/satisfactory/save/satisfactory-save';
12
32
  export * from './parser/satisfactory/save/save.types';
33
+ export * from './parser/satisfactory/structs/util.types';
13
34
  export { BinaryOperable } from './parser/byte/binary-operable.interface';
14
35
  export { BinaryReadable } from './parser/byte/binary-readable.interface';
15
36
  export { ByteReader } from './parser/byte/byte-reader.class';
@@ -18,7 +39,6 @@ export { BlueprintConfigReader, BlueprintReader } from './parser/satisfactory/bl
18
39
  export { BlueprintConfigWriter, BlueprintWriter } from './parser/satisfactory/blueprint/blueprint-writer';
19
40
  export { SaveReader } from './parser/satisfactory/save/save-reader';
20
41
  export { SaveWriter } from './parser/satisfactory/save/save-writer';
21
- export * from './parser/satisfactory/structs/util.types';
22
42
  export { SaveStreamJsonStringifier } from './parser/stream/reworked/save-stream-json-stringifier';
23
43
  export { SaveStreamWriter } from './parser/stream/reworked/save-stream-writer.class';
24
44
  export * from './parser/error/parser.error';
package/build/index.js CHANGED
@@ -14,25 +14,45 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ReadableStreamParser = exports.Parser = exports.SaveStreamWriter = exports.SaveStreamJsonStringifier = exports.SaveWriter = exports.SaveReader = exports.BlueprintWriter = exports.BlueprintConfigWriter = exports.BlueprintReader = exports.BlueprintConfigReader = exports.ByteWriter = exports.ByteReader = exports.SatisfactorySave = exports.Level = exports.ObjectReference = exports.SaveEntity = exports.SaveComponent = exports.DataFields = void 0;
17
+ exports.ReadableStreamParser = exports.Parser = exports.SaveStreamWriter = exports.SaveStreamJsonStringifier = exports.SaveWriter = exports.SaveReader = exports.BlueprintWriter = exports.BlueprintConfigWriter = exports.BlueprintReader = exports.BlueprintConfigReader = exports.ByteWriter = exports.ByteReader = exports.SatisfactorySave = exports.Level = exports.SaveEntity = exports.SaveComponent = exports.DataFields = void 0;
18
18
  __exportStar(require("./parser/satisfactory/blueprint/blueprint.types"), exports);
19
19
  var DataFields_1 = require("./parser/satisfactory/objects/DataFields");
20
20
  Object.defineProperty(exports, "DataFields", { enumerable: true, get: function () { return DataFields_1.DataFields; } });
21
21
  __exportStar(require("./parser/satisfactory/objects/GUIDInfo"), exports);
22
- __exportStar(require("./parser/satisfactory/objects/Property"), exports);
22
+ __exportStar(require("./parser/satisfactory/objects/property/generic/ArrayProperty"), exports);
23
+ __exportStar(require("./parser/satisfactory/objects/property/generic/BasicProperty"), exports);
24
+ __exportStar(require("./parser/satisfactory/objects/property/generic/BoolProperty"), exports);
25
+ __exportStar(require("./parser/satisfactory/objects/property/generic/ByteProperty"), exports);
26
+ __exportStar(require("./parser/satisfactory/objects/property/generic/DoubleProperty"), exports);
27
+ __exportStar(require("./parser/satisfactory/objects/property/generic/EnumProperty"), exports);
28
+ __exportStar(require("./parser/satisfactory/objects/property/generic/FloatProperty"), exports);
29
+ __exportStar(require("./parser/satisfactory/objects/property/generic/Int32Property"), exports);
30
+ __exportStar(require("./parser/satisfactory/objects/property/generic/Int64Property"), exports);
31
+ __exportStar(require("./parser/satisfactory/objects/property/generic/Int8Property"), exports);
32
+ __exportStar(require("./parser/satisfactory/objects/property/generic/MapProperty"), exports);
33
+ __exportStar(require("./parser/satisfactory/objects/property/generic/ObjectProperty"), exports);
34
+ __exportStar(require("./parser/satisfactory/objects/property/generic/SetProperty"), exports);
35
+ __exportStar(require("./parser/satisfactory/objects/property/generic/StrProperty"), exports);
36
+ __exportStar(require("./parser/satisfactory/objects/property/generic/StructProperty"), exports);
37
+ __exportStar(require("./parser/satisfactory/objects/property/generic/TextProperty"), exports);
38
+ __exportStar(require("./parser/satisfactory/objects/property/generic/Uint32Property"), exports);
39
+ __exportStar(require("./parser/satisfactory/objects/property/generic/Uint64Property"), exports);
40
+ __exportStar(require("./parser/satisfactory/objects/property/generic/Uint8Property"), exports);
41
+ __exportStar(require("./parser/satisfactory/objects/property/special/SpecialAnyProperty"), exports);
23
42
  var SaveComponent_1 = require("./parser/satisfactory/objects/SaveComponent");
24
43
  Object.defineProperty(exports, "SaveComponent", { enumerable: true, get: function () { return SaveComponent_1.SaveComponent; } });
25
44
  var SaveEntity_1 = require("./parser/satisfactory/objects/SaveEntity");
26
45
  Object.defineProperty(exports, "SaveEntity", { enumerable: true, get: function () { return SaveEntity_1.SaveEntity; } });
27
46
  __exportStar(require("./parser/satisfactory/objects/ue/MD5Hash"), exports);
28
47
  __exportStar(require("./parser/satisfactory/objects/values/GUID"), exports);
29
- var ObjectReference_1 = require("./parser/satisfactory/objects/values/ObjectReference");
30
- Object.defineProperty(exports, "ObjectReference", { enumerable: true, get: function () { return ObjectReference_1.ObjectReference; } });
48
+ __exportStar(require("./parser/satisfactory/objects/values/ObjectReference"), exports);
49
+ __exportStar(require("./parser/satisfactory/objects/values/SoftObjectReference"), exports);
31
50
  var level_class_1 = require("./parser/satisfactory/save/level.class");
32
51
  Object.defineProperty(exports, "Level", { enumerable: true, get: function () { return level_class_1.Level; } });
33
52
  var satisfactory_save_1 = require("./parser/satisfactory/save/satisfactory-save");
34
53
  Object.defineProperty(exports, "SatisfactorySave", { enumerable: true, get: function () { return satisfactory_save_1.SatisfactorySave; } });
35
54
  __exportStar(require("./parser/satisfactory/save/save.types"), exports);
55
+ __exportStar(require("./parser/satisfactory/structs/util.types"), exports);
36
56
  var byte_reader_class_1 = require("./parser/byte/byte-reader.class");
37
57
  Object.defineProperty(exports, "ByteReader", { enumerable: true, get: function () { return byte_reader_class_1.ByteReader; } });
38
58
  var byte_writer_class_1 = require("./parser/byte/byte-writer.class");
@@ -47,7 +67,6 @@ var save_reader_1 = require("./parser/satisfactory/save/save-reader");
47
67
  Object.defineProperty(exports, "SaveReader", { enumerable: true, get: function () { return save_reader_1.SaveReader; } });
48
68
  var save_writer_1 = require("./parser/satisfactory/save/save-writer");
49
69
  Object.defineProperty(exports, "SaveWriter", { enumerable: true, get: function () { return save_writer_1.SaveWriter; } });
50
- __exportStar(require("./parser/satisfactory/structs/util.types"), exports);
51
70
  var save_stream_json_stringifier_1 = require("./parser/stream/reworked/save-stream-json-stringifier");
52
71
  Object.defineProperty(exports, "SaveStreamJsonStringifier", { enumerable: true, get: function () { return save_stream_json_stringifier_1.SaveStreamJsonStringifier; } });
53
72
  var save_stream_writer_class_1 = require("./parser/stream/reworked/save-stream-writer.class");
@@ -1667,6 +1667,10 @@ export declare const EDIT: {
1667
1667
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk5/Build_ConveyorBeltMk5.Build_ConveyorBeltMk5_C";
1668
1668
  readonly CLASS_NAME: "Build_ConveyorBeltMk5_C";
1669
1669
  };
1670
+ readonly BELT_MK6: {
1671
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk6/Build_ConveyorBeltMk6.Build_ConveyorBeltMk6_C";
1672
+ readonly CLASS_NAME: "Build_ConveyorBeltMk6_C";
1673
+ };
1670
1674
  readonly LIFT_MK1: {
1671
1675
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk1/Build_ConveyorLiftMk1.Build_ConveyorLiftMk1_C";
1672
1676
  readonly CLASS_NAME: "Build_ConveyorLiftMk1_C";
@@ -1687,6 +1691,10 @@ export declare const EDIT: {
1687
1691
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk5/Build_ConveyorLiftMk5.Build_ConveyorLiftMk5_C";
1688
1692
  readonly CLASS_NAME: "Build_ConveyorLiftMk5_C";
1689
1693
  };
1694
+ readonly LIFT_MK6: {
1695
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk6/Build_ConveyorLiftMk6.Build_ConveyorLiftMk6_C";
1696
+ readonly CLASS_NAME: "Build_ConveyorLiftMk6_C";
1697
+ };
1690
1698
  };
1691
1699
  readonly PIPELINE: {
1692
1700
  readonly PIPELINE_MK1: {
@@ -1767,6 +1775,10 @@ export declare const EDIT: {
1767
1775
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/StorageContainerMk2/Build_StorageContainerMk2.Build_StorageContainerMk2_C";
1768
1776
  readonly CLASS_NAME: "Build_StorageContainerMk2_C";
1769
1777
  };
1778
+ readonly CENTRAL_STORAGE: {
1779
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/CentralStorage/Build_CentralStorage.Build_CentralStorage_C";
1780
+ readonly CLASS_NAME: "Build_CentralStorage_C";
1781
+ };
1770
1782
  readonly FLUID_BUFFER_MK_1: {
1771
1783
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/StorageTank/Build_PipeStorageTank.Build_PipeStorageTank_C";
1772
1784
  readonly CLASS_NAME: "Build_PipeStorageTank_C";
@@ -1751,6 +1751,10 @@ exports.EDIT = {
1751
1751
  TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk5/Build_ConveyorBeltMk5.Build_ConveyorBeltMk5_C',
1752
1752
  CLASS_NAME: 'Build_ConveyorBeltMk5_C'
1753
1753
  },
1754
+ BELT_MK6: {
1755
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk6/Build_ConveyorBeltMk6.Build_ConveyorBeltMk6_C',
1756
+ CLASS_NAME: 'Build_ConveyorBeltMk6_C'
1757
+ },
1754
1758
  LIFT_MK1: {
1755
1759
  TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk1/Build_ConveyorLiftMk1.Build_ConveyorLiftMk1_C',
1756
1760
  CLASS_NAME: 'Build_ConveyorLiftMk1_C'
@@ -1771,6 +1775,10 @@ exports.EDIT = {
1771
1775
  TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk5/Build_ConveyorLiftMk5.Build_ConveyorLiftMk5_C',
1772
1776
  CLASS_NAME: 'Build_ConveyorLiftMk5_C'
1773
1777
  },
1778
+ LIFT_MK6: {
1779
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk6/Build_ConveyorLiftMk6.Build_ConveyorLiftMk6_C',
1780
+ CLASS_NAME: 'Build_ConveyorLiftMk6_C'
1781
+ },
1774
1782
  },
1775
1783
  PIPELINE: {
1776
1784
  PIPELINE_MK1: {
@@ -1851,6 +1859,10 @@ exports.EDIT = {
1851
1859
  TYPE_PATH: TYPE_PATH_CONTAINER_MK2,
1852
1860
  CLASS_NAME: CLASS_NAME_CONTAINER_MK2
1853
1861
  },
1862
+ CENTRAL_STORAGE: {
1863
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/CentralStorage/Build_CentralStorage.Build_CentralStorage_C',
1864
+ CLASS_NAME: 'Build_CentralStorage_C'
1865
+ },
1854
1866
  FLUID_BUFFER_MK_1: {
1855
1867
  TYPE_PATH: TYPE_PATH_FLUID_BUFFER_MK1,
1856
1868
  CLASS_NAME: CLASS_NAME_FLUID_BUFFER_MK1,
@@ -1,44 +1,9 @@
1
1
  import { BinaryReadable } from "../../byte/binary-readable.interface";
2
2
  import { ByteWriter } from '../../byte/byte-writer.class';
3
3
  import { SaveWriter } from "../save/save-writer";
4
- import { Transform, vec3, vec4 } from '../structs/util.types';
5
- import { AbstractBaseProperty } from "./Property";
4
+ import { AbstractBaseProperty } from "./property/generic/BasicProperty";
5
+ import { SpecialAnyProperty } from './property/special/SpecialAnyProperty';
6
6
  import { SaveObject } from "./SaveObject";
7
- import { ObjectReference } from "./values/ObjectReference";
8
- export type SpecialAnyProperty = {} | PowerLineSpecialProperty | PlayerSpecialProperty | ConveyorSpecialProperty | BuildableSubsystemSpecialProperty;
9
- export type PowerLineSpecialProperty = {
10
- num: number;
11
- source: ObjectReference;
12
- target: ObjectReference;
13
- sourceTranslation?: vec3;
14
- targetTranslation?: vec3;
15
- };
16
- export type PlayerSpecialProperty = {
17
- flag: number;
18
- eosData?: string;
19
- steamPlayerData?: string;
20
- };
21
- export type ItemSpecialProperty = {
22
- length: number;
23
- name: string;
24
- position: number;
25
- pathName: string;
26
- };
27
- export type ConveyorSpecialProperty = {
28
- items: ItemSpecialProperty[];
29
- };
30
- export type BuildableSubsystemSpecialProperty = {
31
- buildables: {
32
- typePath: string;
33
- instances: {
34
- transform: Transform;
35
- unknownUseNumbers: [vec4, vec3];
36
- swatchSlotTypePath: string;
37
- paintFinishPath: string;
38
- recipeTypePath: string;
39
- }[];
40
- }[];
41
- };
42
7
  export declare class DataFields {
43
8
  constructor();
44
9
  static ParseProperties(obj: SaveObject, length: number, reader: BinaryReadable, buildVersion: number, typePath: string): void;
@@ -2,7 +2,26 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DataFields = void 0;
4
4
  const util_types_1 = require("../structs/util.types");
5
- const Property_1 = require("./Property");
5
+ const ArrayProperty_1 = require("./property/generic/ArrayProperty");
6
+ const BoolProperty_1 = require("./property/generic/BoolProperty");
7
+ const ByteProperty_1 = require("./property/generic/ByteProperty");
8
+ const DoubleProperty_1 = require("./property/generic/DoubleProperty");
9
+ const EnumProperty_1 = require("./property/generic/EnumProperty");
10
+ const FloatProperty_1 = require("./property/generic/FloatProperty");
11
+ const Int32Property_1 = require("./property/generic/Int32Property");
12
+ const Int64Property_1 = require("./property/generic/Int64Property");
13
+ const Int8Property_1 = require("./property/generic/Int8Property");
14
+ const MapProperty_1 = require("./property/generic/MapProperty");
15
+ const ObjectProperty_1 = require("./property/generic/ObjectProperty");
16
+ const SetProperty_1 = require("./property/generic/SetProperty");
17
+ const SoftObjectProperty_1 = require("./property/generic/SoftObjectProperty");
18
+ const StrProperty_1 = require("./property/generic/StrProperty");
19
+ const StructProperty_1 = require("./property/generic/StructProperty");
20
+ const TextProperty_1 = require("./property/generic/TextProperty");
21
+ const Uint32Property_1 = require("./property/generic/Uint32Property");
22
+ const Uint64Property_1 = require("./property/generic/Uint64Property");
23
+ const Uint8Property_1 = require("./property/generic/Uint8Property");
24
+ const ObjectReference_1 = require("./values/ObjectReference");
6
25
  class DataFields {
7
26
  constructor() {
8
27
  }
@@ -49,18 +68,66 @@ class DataFields {
49
68
  case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk3/Build_ConveyorBeltMk3.Build_ConveyorBeltMk3_C':
50
69
  case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk4/Build_ConveyorBeltMk4.Build_ConveyorBeltMk4_C':
51
70
  case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk5/Build_ConveyorBeltMk5.Build_ConveyorBeltMk5_C':
71
+ case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk6/Build_ConveyorBeltMk6.Build_ConveyorBeltMk6_C':
52
72
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk1/Build_ConveyorLiftMk1.Build_ConveyorLiftMk1_C':
53
73
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk2/Build_ConveyorLiftMk2.Build_ConveyorLiftMk2_C':
54
74
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk3/Build_ConveyorLiftMk3.Build_ConveyorLiftMk3_C':
55
75
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk4/Build_ConveyorLiftMk4.Build_ConveyorLiftMk4_C':
56
76
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk5/Build_ConveyorLiftMk5.Build_ConveyorLiftMk5_C':
77
+ case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk6/Build_ConveyorLiftMk6.Build_ConveyorLiftMk6_C':
78
+ reader.readInt32();
57
79
  property = {};
58
80
  break;
81
+ case '/Script/FactoryGame.FGConveyorChainActor':
82
+ const lastBelt = ObjectReference_1.ObjectReference.read(reader);
83
+ const firstBelt = ObjectReference_1.ObjectReference.read(reader);
84
+ const countBeltsInChain = reader.readInt32();
85
+ const beltsInChain = [];
86
+ for (let i = 0; i < countBeltsInChain; i++) {
87
+ const chainActorRef = ObjectReference_1.ObjectReference.read(reader);
88
+ const beltRef = ObjectReference_1.ObjectReference.read(reader);
89
+ const someCount = reader.readInt32();
90
+ const unknownUseBytes = Array.from(reader.readBytes(someCount * 3 * 24 + 12));
91
+ const firstItemIndex = reader.readInt32();
92
+ const lastItemIndex = reader.readInt32();
93
+ const beltIndexInChain = reader.readInt32();
94
+ beltsInChain.push({
95
+ chainActorRef,
96
+ beltRef,
97
+ someCount,
98
+ unknownUseBytes,
99
+ firstItemIndex,
100
+ lastItemIndex,
101
+ beltIndexInChain
102
+ });
103
+ }
104
+ const unknownInts = [reader.readInt32(), reader.readInt32()];
105
+ const firstChainItemIndex = reader.readInt32();
106
+ const lastChainItemIndex = reader.readInt32();
107
+ const countItemsInChain = reader.readInt32();
108
+ const items = [];
109
+ for (let n = 0; n < countItemsInChain; n++) {
110
+ reader.readInt32();
111
+ const itemName = reader.readString();
112
+ reader.readInt32();
113
+ const position = reader.readInt32();
114
+ items.push({ itemName, position });
115
+ }
116
+ property = {
117
+ firstBelt: firstBelt,
118
+ lastBelt: lastBelt,
119
+ beltsInChain,
120
+ unknownInts,
121
+ firstChainItemIndex,
122
+ lastChainItemIndex,
123
+ items
124
+ };
125
+ break;
59
126
  case '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C':
60
127
  case '/Game/FactoryGame/Events/Christmas/Buildings/PowerLineLights/Build_XmassLightsLine.Build_XmassLightsLine_C':
61
128
  property = {
62
- source: Property_1.ObjectProperty.ReadValue(reader),
63
- target: Property_1.ObjectProperty.ReadValue(reader)
129
+ source: ObjectProperty_1.ObjectProperty.ReadValue(reader),
130
+ target: ObjectProperty_1.ObjectProperty.ReadValue(reader)
64
131
  };
65
132
  if (remainingLen - (reader.getBufferPosition() - start) >= 24) {
66
133
  property.sourceTranslation = util_types_1.vec3.ParseF(reader);
@@ -133,76 +200,83 @@ class DataFields {
133
200
  let overhead = 0;
134
201
  switch (propertyType) {
135
202
  case 'BoolProperty':
136
- currentProperty = Property_1.BoolProperty.Parse(reader, propertyType, index);
137
- overhead = Property_1.BoolProperty.CalcOverhead(currentProperty);
203
+ currentProperty = BoolProperty_1.BoolProperty.Parse(reader, propertyType, index);
204
+ overhead = BoolProperty_1.BoolProperty.CalcOverhead(currentProperty);
138
205
  break;
139
206
  case 'ByteProperty':
140
- currentProperty = Property_1.ByteProperty.Parse(reader, propertyType, index);
141
- overhead = Property_1.ByteProperty.CalcOverhead(currentProperty);
207
+ currentProperty = ByteProperty_1.ByteProperty.Parse(reader, propertyType, index);
208
+ overhead = ByteProperty_1.ByteProperty.CalcOverhead(currentProperty);
142
209
  break;
143
210
  case 'Int8Property':
144
- currentProperty = Property_1.Int8Property.Parse(reader, propertyType, index);
145
- overhead = Property_1.Int8Property.CalcOverhead(currentProperty);
211
+ currentProperty = Int8Property_1.Int8Property.Parse(reader, propertyType, index);
212
+ overhead = Int8Property_1.Int8Property.CalcOverhead(currentProperty);
146
213
  break;
147
214
  case 'UInt8Property':
148
- currentProperty = Property_1.Uint8Property.Parse(reader, propertyType, index);
149
- overhead = Property_1.Uint8Property.CalcOverhead(currentProperty);
215
+ currentProperty = Uint8Property_1.Uint8Property.Parse(reader, propertyType, index);
216
+ overhead = Uint8Property_1.Uint8Property.CalcOverhead(currentProperty);
150
217
  break;
151
218
  case 'IntProperty':
152
219
  case 'Int32Property':
153
- currentProperty = Property_1.Int32Property.Parse(reader, propertyType, index);
154
- overhead = Property_1.Int32Property.CalcOverhead(currentProperty);
220
+ currentProperty = Int32Property_1.Int32Property.Parse(reader, propertyType, index);
221
+ overhead = Int32Property_1.Int32Property.CalcOverhead(currentProperty);
155
222
  break;
156
223
  case 'UInt32Property':
157
- currentProperty = Property_1.Uint32Property.Parse(reader, propertyType, index);
158
- overhead = Property_1.Uint32Property.CalcOverhead(currentProperty);
224
+ currentProperty = Uint32Property_1.Uint32Property.Parse(reader, propertyType, index);
225
+ overhead = Uint32Property_1.Uint32Property.CalcOverhead(currentProperty);
159
226
  break;
160
227
  case 'Int64Property':
161
- currentProperty = Property_1.Int64Property.Parse(reader, propertyType, index);
162
- overhead = Property_1.Int64Property.CalcOverhead(currentProperty);
228
+ currentProperty = Int64Property_1.Int64Property.Parse(reader, propertyType, index);
229
+ overhead = Int64Property_1.Int64Property.CalcOverhead(currentProperty);
230
+ break;
231
+ case 'UInt64Property':
232
+ currentProperty = Uint64Property_1.UInt64Property.Parse(reader, propertyType, index);
163
233
  break;
164
234
  case 'SingleProperty':
165
235
  case 'FloatProperty':
166
- currentProperty = Property_1.FloatProperty.Parse(reader, propertyType, index);
167
- overhead = Property_1.FloatProperty.CalcOverhead(currentProperty);
236
+ currentProperty = FloatProperty_1.FloatProperty.Parse(reader, propertyType, index);
237
+ overhead = FloatProperty_1.FloatProperty.CalcOverhead(currentProperty);
168
238
  break;
169
239
  case 'DoubleProperty':
170
- currentProperty = Property_1.DoubleProperty.Parse(reader, propertyType, index);
171
- overhead = Property_1.DoubleProperty.CalcOverhead(currentProperty);
240
+ currentProperty = DoubleProperty_1.DoubleProperty.Parse(reader, propertyType, index);
241
+ overhead = DoubleProperty_1.DoubleProperty.CalcOverhead(currentProperty);
172
242
  break;
173
243
  case 'StrProperty':
174
244
  case 'NameProperty':
175
- currentProperty = Property_1.StrProperty.Parse(reader, propertyType, index);
176
- overhead = Property_1.StrProperty.CalcOverhead(currentProperty);
245
+ currentProperty = StrProperty_1.StrProperty.Parse(reader, propertyType, index);
246
+ overhead = StrProperty_1.StrProperty.CalcOverhead(currentProperty);
177
247
  break;
178
248
  case 'ObjectProperty':
179
249
  case 'InterfaceProperty':
180
- currentProperty = Property_1.ObjectProperty.Parse(reader, propertyType, index);
181
- overhead = Property_1.ObjectProperty.CalcOverhead(currentProperty);
250
+ currentProperty = ObjectProperty_1.ObjectProperty.Parse(reader, propertyType, index);
251
+ overhead = ObjectProperty_1.ObjectProperty.CalcOverhead(currentProperty);
252
+ break;
253
+ case 'SoftObjectProperty':
254
+ currentProperty = SoftObjectProperty_1.SoftObjectProperty.Parse(reader, propertyType, index);
255
+ overhead = SoftObjectProperty_1.SoftObjectProperty.CalcOverhead(currentProperty);
182
256
  break;
183
257
  case 'EnumProperty':
184
- currentProperty = Property_1.EnumProperty.Parse(reader, propertyType, index);
185
- overhead = Property_1.EnumProperty.CalcOverhead(currentProperty);
258
+ currentProperty = EnumProperty_1.EnumProperty.Parse(reader, propertyType, index);
259
+ overhead = EnumProperty_1.EnumProperty.CalcOverhead(currentProperty);
186
260
  break;
187
261
  case 'StructProperty':
188
- currentProperty = Property_1.StructProperty.Parse(reader, propertyType, index, binarySize);
189
- overhead = Property_1.StructProperty.CalcOverhead(currentProperty);
262
+ currentProperty = StructProperty_1.StructProperty.Parse(reader, propertyType, index, binarySize);
263
+ overhead = StructProperty_1.StructProperty.CalcOverhead(currentProperty);
190
264
  break;
191
265
  case 'ArrayProperty':
192
- currentProperty = Property_1.ArrayProperty.Parse(reader, propertyType, index, propertyName);
193
- overhead = Property_1.ArrayProperty.CalcOverhead(currentProperty);
266
+ currentProperty = ArrayProperty_1.ArrayProperty.Parse(reader, propertyType, index, propertyName);
267
+ overhead = ArrayProperty_1.ArrayProperty.CalcOverhead(currentProperty);
194
268
  break;
195
269
  case 'MapProperty':
196
- currentProperty = Property_1.MapProperty.Parse(reader, propertyName, buildVersion, binarySize);
197
- overhead = Property_1.MapProperty.CalcOverhead(currentProperty);
270
+ currentProperty = MapProperty_1.MapProperty.Parse(reader, propertyName, buildVersion, binarySize);
271
+ overhead = MapProperty_1.MapProperty.CalcOverhead(currentProperty);
198
272
  break;
199
273
  case 'TextProperty':
200
- currentProperty = Property_1.TextProperty.Parse(reader, propertyType, index);
201
- overhead = Property_1.TextProperty.CalcOverhead(currentProperty);
274
+ currentProperty = TextProperty_1.TextProperty.Parse(reader, propertyType, index);
275
+ overhead = TextProperty_1.TextProperty.CalcOverhead(currentProperty);
202
276
  break;
203
277
  case 'SetProperty':
204
- currentProperty = Property_1.SetProperty.Parse(reader, propertyType, index, propertyName);
205
- overhead = Property_1.SetProperty.CalcOverhead(currentProperty);
278
+ currentProperty = SetProperty_1.SetProperty.Parse(reader, propertyType, index, propertyName);
279
+ overhead = SetProperty_1.SetProperty.CalcOverhead(currentProperty);
206
280
  break;
207
281
  default:
208
282
  throw new Error(`Unimplemented type ${propertyType}`);
@@ -232,16 +306,44 @@ class DataFields {
232
306
  case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk3/Build_ConveyorBeltMk3.Build_ConveyorBeltMk3_C':
233
307
  case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk4/Build_ConveyorBeltMk4.Build_ConveyorBeltMk4_C':
234
308
  case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk5/Build_ConveyorBeltMk5.Build_ConveyorBeltMk5_C':
309
+ case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk6/Build_ConveyorBeltMk6.Build_ConveyorBeltMk6_C':
235
310
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk1/Build_ConveyorLiftMk1.Build_ConveyorLiftMk1_C':
236
311
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk2/Build_ConveyorLiftMk2.Build_ConveyorLiftMk2_C':
237
312
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk3/Build_ConveyorLiftMk3.Build_ConveyorLiftMk3_C':
238
313
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk4/Build_ConveyorLiftMk4.Build_ConveyorLiftMk4_C':
239
314
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk5/Build_ConveyorLiftMk5.Build_ConveyorLiftMk5_C':
315
+ case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk6/Build_ConveyorLiftMk6.Build_ConveyorLiftMk6_C':
316
+ writer.writeInt32(0);
317
+ break;
318
+ case '/Script/FactoryGame.FGConveyorChainActor':
319
+ ObjectReference_1.ObjectReference.write(writer, property.lastBelt);
320
+ ObjectReference_1.ObjectReference.write(writer, property.firstBelt);
321
+ writer.writeInt32(property.beltsInChain.length);
322
+ for (const belt of property.beltsInChain) {
323
+ ObjectReference_1.ObjectReference.write(writer, belt.chainActorRef);
324
+ ObjectReference_1.ObjectReference.write(writer, belt.beltRef);
325
+ writer.writeInt32(belt.someCount);
326
+ writer.writeBytesArray(belt.unknownUseBytes);
327
+ writer.writeInt32(belt.firstItemIndex);
328
+ writer.writeInt32(belt.lastItemIndex);
329
+ writer.writeInt32(belt.beltIndexInChain);
330
+ }
331
+ writer.writeInt32(property.unknownInts[0]);
332
+ writer.writeInt32(property.unknownInts[1]);
333
+ writer.writeInt32(property.firstChainItemIndex);
334
+ writer.writeInt32(property.lastChainItemIndex);
335
+ writer.writeInt32(property.items.length);
336
+ for (const item of property.items) {
337
+ writer.writeInt32(0);
338
+ writer.writeString(item.itemName);
339
+ writer.writeInt32(0);
340
+ writer.writeInt32(item.position);
341
+ }
240
342
  break;
241
343
  case '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C':
242
344
  case '/Game/FactoryGame/Events/Christmas/Buildings/PowerLineLights/Build_XmassLightsLine.Build_XmassLightsLine_C':
243
- Property_1.ObjectProperty.SerializeValue(writer, property.source);
244
- Property_1.ObjectProperty.SerializeValue(writer, property.target);
345
+ ObjectProperty_1.ObjectProperty.SerializeValue(writer, property.source);
346
+ ObjectProperty_1.ObjectProperty.SerializeValue(writer, property.target);
245
347
  break;
246
348
  case '/Game/FactoryGame/Character/Player/BP_PlayerState.BP_PlayerState_C':
247
349
  writer.writeByte(property.flag);
@@ -290,80 +392,88 @@ class DataFields {
290
392
  let overhead = 0;
291
393
  switch (property.ueType) {
292
394
  case 'BoolProperty':
293
- overhead = Property_1.BoolProperty.CalcOverhead(property);
294
- Property_1.BoolProperty.Serialize(writer, property);
395
+ overhead = BoolProperty_1.BoolProperty.CalcOverhead(property);
396
+ BoolProperty_1.BoolProperty.Serialize(writer, property);
295
397
  break;
296
398
  case 'ByteProperty':
297
- overhead = Property_1.ByteProperty.CalcOverhead(property);
298
- Property_1.ByteProperty.Serialize(writer, property);
399
+ overhead = ByteProperty_1.ByteProperty.CalcOverhead(property);
400
+ ByteProperty_1.ByteProperty.Serialize(writer, property);
299
401
  break;
300
402
  case 'Int8Property':
301
- overhead = Property_1.Int8Property.CalcOverhead(property);
302
- Property_1.Int8Property.Serialize(writer, property);
403
+ overhead = Int8Property_1.Int8Property.CalcOverhead(property);
404
+ Int8Property_1.Int8Property.Serialize(writer, property);
303
405
  break;
304
406
  case 'UInt8Property':
305
- overhead = Property_1.Uint8Property.CalcOverhead(property);
306
- Property_1.Uint8Property.Serialize(writer, property);
407
+ overhead = Uint8Property_1.Uint8Property.CalcOverhead(property);
408
+ Uint8Property_1.Uint8Property.Serialize(writer, property);
307
409
  break;
308
410
  case 'IntProperty':
309
411
  case 'Int32Property':
310
- overhead = Property_1.Int32Property.CalcOverhead(property);
311
- Property_1.Int32Property.Serialize(writer, property);
412
+ overhead = Int32Property_1.Int32Property.CalcOverhead(property);
413
+ Int32Property_1.Int32Property.Serialize(writer, property);
312
414
  break;
313
415
  case 'UInt32Property':
314
- overhead = Property_1.Uint32Property.CalcOverhead(property);
315
- Property_1.Uint32Property.Serialize(writer, property);
416
+ overhead = Uint32Property_1.Uint32Property.CalcOverhead(property);
417
+ Uint32Property_1.Uint32Property.Serialize(writer, property);
316
418
  break;
317
419
  case 'Int64Property':
318
- overhead = Property_1.Int64Property.CalcOverhead(property);
319
- Property_1.Int64Property.Serialize(writer, property);
420
+ overhead = Int64Property_1.Int64Property.CalcOverhead(property);
421
+ Int64Property_1.Int64Property.Serialize(writer, property);
422
+ break;
423
+ case 'UInt64PRoperty':
424
+ overhead = Uint64Property_1.UInt64Property.CalcOverhead(property);
425
+ Uint64Property_1.UInt64Property.Serialize(writer, property);
320
426
  break;
321
427
  case 'SingleProperty':
322
428
  case 'FloatProperty':
323
- overhead = Property_1.FloatProperty.CalcOverhead(property);
324
- Property_1.FloatProperty.Serialize(writer, property);
429
+ overhead = FloatProperty_1.FloatProperty.CalcOverhead(property);
430
+ FloatProperty_1.FloatProperty.Serialize(writer, property);
325
431
  break;
326
432
  case 'DoubleProperty':
327
- overhead = Property_1.DoubleProperty.CalcOverhead(property);
328
- Property_1.DoubleProperty.Serialize(writer, property);
433
+ overhead = DoubleProperty_1.DoubleProperty.CalcOverhead(property);
434
+ DoubleProperty_1.DoubleProperty.Serialize(writer, property);
329
435
  break;
330
436
  case 'StrProperty':
331
437
  case 'NameProperty':
332
- overhead = Property_1.StrProperty.CalcOverhead(property);
333
- Property_1.StrProperty.Serialize(writer, property);
438
+ overhead = StrProperty_1.StrProperty.CalcOverhead(property);
439
+ StrProperty_1.StrProperty.Serialize(writer, property);
334
440
  break;
335
441
  case 'ObjectProperty':
336
442
  case 'InterfaceProperty':
337
- overhead = Property_1.ObjectProperty.CalcOverhead(property);
338
- Property_1.ObjectProperty.Serialize(writer, property);
443
+ overhead = ObjectProperty_1.ObjectProperty.CalcOverhead(property);
444
+ ObjectProperty_1.ObjectProperty.Serialize(writer, property);
445
+ break;
446
+ case 'SoftObjectProperty':
447
+ overhead = SoftObjectProperty_1.SoftObjectProperty.CalcOverhead(property);
448
+ SoftObjectProperty_1.SoftObjectProperty.Serialize(writer, property);
339
449
  break;
340
450
  case 'EnumProperty':
341
- overhead = Property_1.EnumProperty.CalcOverhead(property);
342
- Property_1.EnumProperty.Serialize(writer, property);
451
+ overhead = EnumProperty_1.EnumProperty.CalcOverhead(property);
452
+ EnumProperty_1.EnumProperty.Serialize(writer, property);
343
453
  break;
344
454
  case 'ByteProperty':
345
- overhead = Property_1.ByteProperty.CalcOverhead(property);
346
- Property_1.ByteProperty.Serialize(writer, property);
455
+ overhead = ByteProperty_1.ByteProperty.CalcOverhead(property);
456
+ ByteProperty_1.ByteProperty.Serialize(writer, property);
347
457
  break;
348
458
  case 'StructProperty':
349
- overhead = Property_1.StructProperty.CalcOverhead(property);
350
- Property_1.StructProperty.Serialize(writer, property);
459
+ overhead = StructProperty_1.StructProperty.CalcOverhead(property);
460
+ StructProperty_1.StructProperty.Serialize(writer, property);
351
461
  break;
352
462
  case 'ArrayProperty':
353
- overhead = Property_1.ArrayProperty.CalcOverhead(property);
354
- Property_1.ArrayProperty.Serialize(writer, property, propertyName);
463
+ overhead = ArrayProperty_1.ArrayProperty.CalcOverhead(property);
464
+ ArrayProperty_1.ArrayProperty.Serialize(writer, property, propertyName);
355
465
  break;
356
466
  case 'MapProperty':
357
- overhead = Property_1.MapProperty.CalcOverhead(property);
358
- Property_1.MapProperty.Serialize(writer, property);
467
+ overhead = MapProperty_1.MapProperty.CalcOverhead(property);
468
+ MapProperty_1.MapProperty.Serialize(writer, property);
359
469
  break;
360
470
  case 'TextProperty':
361
- overhead = Property_1.TextProperty.CalcOverhead(property);
362
- Property_1.TextProperty.Serialize(writer, property);
471
+ overhead = TextProperty_1.TextProperty.CalcOverhead(property);
472
+ TextProperty_1.TextProperty.Serialize(writer, property);
363
473
  break;
364
474
  case 'SetProperty':
365
- overhead = Property_1.SetProperty.CalcOverhead(property);
366
- Property_1.SetProperty.Serialize(writer, property);
475
+ overhead = SetProperty_1.SetProperty.CalcOverhead(property);
476
+ SetProperty_1.SetProperty.Serialize(writer, property);
367
477
  break;
368
478
  default:
369
479
  throw new Error(`Unimplemented type ${property.type}`);