@etothepii/satisfactory-file-parser 0.4.5 → 0.4.6

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 (49) 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 +106 -76
  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 +18 -0
  12. package/build/parser/satisfactory/objects/property/generic/BasicProperty.js +25 -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/StrProperty.d.ts +13 -0
  36. package/build/parser/satisfactory/objects/property/generic/StrProperty.js +30 -0
  37. package/build/parser/satisfactory/objects/property/generic/StructProperty.d.ts +69 -0
  38. package/build/parser/satisfactory/objects/property/generic/StructProperty.js +340 -0
  39. package/build/parser/satisfactory/objects/property/generic/TextProperty.d.ts +29 -0
  40. package/build/parser/satisfactory/objects/property/generic/TextProperty.js +109 -0
  41. package/build/parser/satisfactory/objects/property/generic/Uint32Property.d.ts +13 -0
  42. package/build/parser/satisfactory/objects/property/generic/Uint32Property.js +30 -0
  43. package/build/parser/satisfactory/objects/property/generic/Uint64Property.d.ts +13 -0
  44. package/build/parser/satisfactory/objects/property/generic/Uint64Property.js +30 -0
  45. package/build/parser/satisfactory/objects/property/generic/Uint8Property.d.ts +13 -0
  46. package/build/parser/satisfactory/objects/property/generic/Uint8Property.js +30 -0
  47. package/build/parser/satisfactory/objects/property/special/SpecialAnyProperty.d.ts +36 -0
  48. package/build/parser/satisfactory/objects/property/special/SpecialAnyProperty.js +2 -0
  49. package/package.json +1 -1
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.6 |
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,24 @@
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 StrProperty_1 = require("./property/generic/StrProperty");
18
+ const StructProperty_1 = require("./property/generic/StructProperty");
19
+ const TextProperty_1 = require("./property/generic/TextProperty");
20
+ const Uint32Property_1 = require("./property/generic/Uint32Property");
21
+ const Uint64Property_1 = require("./property/generic/Uint64Property");
22
+ const Uint8Property_1 = require("./property/generic/Uint8Property");
6
23
  class DataFields {
7
24
  constructor() {
8
25
  }
@@ -49,18 +66,23 @@ class DataFields {
49
66
  case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk3/Build_ConveyorBeltMk3.Build_ConveyorBeltMk3_C':
50
67
  case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk4/Build_ConveyorBeltMk4.Build_ConveyorBeltMk4_C':
51
68
  case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk5/Build_ConveyorBeltMk5.Build_ConveyorBeltMk5_C':
69
+ case '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk6/Build_ConveyorBeltMk6.Build_ConveyorBeltMk6_C':
52
70
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk1/Build_ConveyorLiftMk1.Build_ConveyorLiftMk1_C':
53
71
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk2/Build_ConveyorLiftMk2.Build_ConveyorLiftMk2_C':
54
72
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk3/Build_ConveyorLiftMk3.Build_ConveyorLiftMk3_C':
55
73
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk4/Build_ConveyorLiftMk4.Build_ConveyorLiftMk4_C':
56
74
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk5/Build_ConveyorLiftMk5.Build_ConveyorLiftMk5_C':
57
- property = {};
75
+ case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk6/Build_ConveyorLiftMk6.Build_ConveyorLiftMk6_C':
76
+ const count = reader.readInt32();
77
+ property = {
78
+ items: []
79
+ };
58
80
  break;
59
81
  case '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C':
60
82
  case '/Game/FactoryGame/Events/Christmas/Buildings/PowerLineLights/Build_XmassLightsLine.Build_XmassLightsLine_C':
61
83
  property = {
62
- source: Property_1.ObjectProperty.ReadValue(reader),
63
- target: Property_1.ObjectProperty.ReadValue(reader)
84
+ source: ObjectProperty_1.ObjectProperty.ReadValue(reader),
85
+ target: ObjectProperty_1.ObjectProperty.ReadValue(reader)
64
86
  };
65
87
  if (remainingLen - (reader.getBufferPosition() - start) >= 24) {
66
88
  property.sourceTranslation = util_types_1.vec3.ParseF(reader);
@@ -133,76 +155,79 @@ class DataFields {
133
155
  let overhead = 0;
134
156
  switch (propertyType) {
135
157
  case 'BoolProperty':
136
- currentProperty = Property_1.BoolProperty.Parse(reader, propertyType, index);
137
- overhead = Property_1.BoolProperty.CalcOverhead(currentProperty);
158
+ currentProperty = BoolProperty_1.BoolProperty.Parse(reader, propertyType, index);
159
+ overhead = BoolProperty_1.BoolProperty.CalcOverhead(currentProperty);
138
160
  break;
139
161
  case 'ByteProperty':
140
- currentProperty = Property_1.ByteProperty.Parse(reader, propertyType, index);
141
- overhead = Property_1.ByteProperty.CalcOverhead(currentProperty);
162
+ currentProperty = ByteProperty_1.ByteProperty.Parse(reader, propertyType, index);
163
+ overhead = ByteProperty_1.ByteProperty.CalcOverhead(currentProperty);
142
164
  break;
143
165
  case 'Int8Property':
144
- currentProperty = Property_1.Int8Property.Parse(reader, propertyType, index);
145
- overhead = Property_1.Int8Property.CalcOverhead(currentProperty);
166
+ currentProperty = Int8Property_1.Int8Property.Parse(reader, propertyType, index);
167
+ overhead = Int8Property_1.Int8Property.CalcOverhead(currentProperty);
146
168
  break;
147
169
  case 'UInt8Property':
148
- currentProperty = Property_1.Uint8Property.Parse(reader, propertyType, index);
149
- overhead = Property_1.Uint8Property.CalcOverhead(currentProperty);
170
+ currentProperty = Uint8Property_1.Uint8Property.Parse(reader, propertyType, index);
171
+ overhead = Uint8Property_1.Uint8Property.CalcOverhead(currentProperty);
150
172
  break;
151
173
  case 'IntProperty':
152
174
  case 'Int32Property':
153
- currentProperty = Property_1.Int32Property.Parse(reader, propertyType, index);
154
- overhead = Property_1.Int32Property.CalcOverhead(currentProperty);
175
+ currentProperty = Int32Property_1.Int32Property.Parse(reader, propertyType, index);
176
+ overhead = Int32Property_1.Int32Property.CalcOverhead(currentProperty);
155
177
  break;
156
178
  case 'UInt32Property':
157
- currentProperty = Property_1.Uint32Property.Parse(reader, propertyType, index);
158
- overhead = Property_1.Uint32Property.CalcOverhead(currentProperty);
179
+ currentProperty = Uint32Property_1.Uint32Property.Parse(reader, propertyType, index);
180
+ overhead = Uint32Property_1.Uint32Property.CalcOverhead(currentProperty);
159
181
  break;
160
182
  case 'Int64Property':
161
- currentProperty = Property_1.Int64Property.Parse(reader, propertyType, index);
162
- overhead = Property_1.Int64Property.CalcOverhead(currentProperty);
183
+ currentProperty = Int64Property_1.Int64Property.Parse(reader, propertyType, index);
184
+ overhead = Int64Property_1.Int64Property.CalcOverhead(currentProperty);
185
+ break;
186
+ case 'UInt64Property':
187
+ currentProperty = Uint64Property_1.UInt64Property.Parse(reader, propertyType, index);
163
188
  break;
164
189
  case 'SingleProperty':
165
190
  case 'FloatProperty':
166
- currentProperty = Property_1.FloatProperty.Parse(reader, propertyType, index);
167
- overhead = Property_1.FloatProperty.CalcOverhead(currentProperty);
191
+ currentProperty = FloatProperty_1.FloatProperty.Parse(reader, propertyType, index);
192
+ overhead = FloatProperty_1.FloatProperty.CalcOverhead(currentProperty);
168
193
  break;
169
194
  case 'DoubleProperty':
170
- currentProperty = Property_1.DoubleProperty.Parse(reader, propertyType, index);
171
- overhead = Property_1.DoubleProperty.CalcOverhead(currentProperty);
195
+ currentProperty = DoubleProperty_1.DoubleProperty.Parse(reader, propertyType, index);
196
+ overhead = DoubleProperty_1.DoubleProperty.CalcOverhead(currentProperty);
172
197
  break;
173
198
  case 'StrProperty':
174
199
  case 'NameProperty':
175
- currentProperty = Property_1.StrProperty.Parse(reader, propertyType, index);
176
- overhead = Property_1.StrProperty.CalcOverhead(currentProperty);
200
+ currentProperty = StrProperty_1.StrProperty.Parse(reader, propertyType, index);
201
+ overhead = StrProperty_1.StrProperty.CalcOverhead(currentProperty);
177
202
  break;
178
203
  case 'ObjectProperty':
179
204
  case 'InterfaceProperty':
180
- currentProperty = Property_1.ObjectProperty.Parse(reader, propertyType, index);
181
- overhead = Property_1.ObjectProperty.CalcOverhead(currentProperty);
205
+ currentProperty = ObjectProperty_1.ObjectProperty.Parse(reader, propertyType, index);
206
+ overhead = ObjectProperty_1.ObjectProperty.CalcOverhead(currentProperty);
182
207
  break;
183
208
  case 'EnumProperty':
184
- currentProperty = Property_1.EnumProperty.Parse(reader, propertyType, index);
185
- overhead = Property_1.EnumProperty.CalcOverhead(currentProperty);
209
+ currentProperty = EnumProperty_1.EnumProperty.Parse(reader, propertyType, index);
210
+ overhead = EnumProperty_1.EnumProperty.CalcOverhead(currentProperty);
186
211
  break;
187
212
  case 'StructProperty':
188
- currentProperty = Property_1.StructProperty.Parse(reader, propertyType, index, binarySize);
189
- overhead = Property_1.StructProperty.CalcOverhead(currentProperty);
213
+ currentProperty = StructProperty_1.StructProperty.Parse(reader, propertyType, index, binarySize);
214
+ overhead = StructProperty_1.StructProperty.CalcOverhead(currentProperty);
190
215
  break;
191
216
  case 'ArrayProperty':
192
- currentProperty = Property_1.ArrayProperty.Parse(reader, propertyType, index, propertyName);
193
- overhead = Property_1.ArrayProperty.CalcOverhead(currentProperty);
217
+ currentProperty = ArrayProperty_1.ArrayProperty.Parse(reader, propertyType, index, propertyName);
218
+ overhead = ArrayProperty_1.ArrayProperty.CalcOverhead(currentProperty);
194
219
  break;
195
220
  case 'MapProperty':
196
- currentProperty = Property_1.MapProperty.Parse(reader, propertyName, buildVersion, binarySize);
197
- overhead = Property_1.MapProperty.CalcOverhead(currentProperty);
221
+ currentProperty = MapProperty_1.MapProperty.Parse(reader, propertyName, buildVersion, binarySize);
222
+ overhead = MapProperty_1.MapProperty.CalcOverhead(currentProperty);
198
223
  break;
199
224
  case 'TextProperty':
200
- currentProperty = Property_1.TextProperty.Parse(reader, propertyType, index);
201
- overhead = Property_1.TextProperty.CalcOverhead(currentProperty);
225
+ currentProperty = TextProperty_1.TextProperty.Parse(reader, propertyType, index);
226
+ overhead = TextProperty_1.TextProperty.CalcOverhead(currentProperty);
202
227
  break;
203
228
  case 'SetProperty':
204
- currentProperty = Property_1.SetProperty.Parse(reader, propertyType, index, propertyName);
205
- overhead = Property_1.SetProperty.CalcOverhead(currentProperty);
229
+ currentProperty = SetProperty_1.SetProperty.Parse(reader, propertyType, index, propertyName);
230
+ overhead = SetProperty_1.SetProperty.CalcOverhead(currentProperty);
206
231
  break;
207
232
  default:
208
233
  throw new Error(`Unimplemented type ${propertyType}`);
@@ -237,11 +262,12 @@ class DataFields {
237
262
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk3/Build_ConveyorLiftMk3.Build_ConveyorLiftMk3_C':
238
263
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk4/Build_ConveyorLiftMk4.Build_ConveyorLiftMk4_C':
239
264
  case '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk5/Build_ConveyorLiftMk5.Build_ConveyorLiftMk5_C':
265
+ writer.writeInt32(property.items.length);
240
266
  break;
241
267
  case '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C':
242
268
  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);
269
+ ObjectProperty_1.ObjectProperty.SerializeValue(writer, property.source);
270
+ ObjectProperty_1.ObjectProperty.SerializeValue(writer, property.target);
245
271
  break;
246
272
  case '/Game/FactoryGame/Character/Player/BP_PlayerState.BP_PlayerState_C':
247
273
  writer.writeByte(property.flag);
@@ -290,80 +316,84 @@ class DataFields {
290
316
  let overhead = 0;
291
317
  switch (property.ueType) {
292
318
  case 'BoolProperty':
293
- overhead = Property_1.BoolProperty.CalcOverhead(property);
294
- Property_1.BoolProperty.Serialize(writer, property);
319
+ overhead = BoolProperty_1.BoolProperty.CalcOverhead(property);
320
+ BoolProperty_1.BoolProperty.Serialize(writer, property);
295
321
  break;
296
322
  case 'ByteProperty':
297
- overhead = Property_1.ByteProperty.CalcOverhead(property);
298
- Property_1.ByteProperty.Serialize(writer, property);
323
+ overhead = ByteProperty_1.ByteProperty.CalcOverhead(property);
324
+ ByteProperty_1.ByteProperty.Serialize(writer, property);
299
325
  break;
300
326
  case 'Int8Property':
301
- overhead = Property_1.Int8Property.CalcOverhead(property);
302
- Property_1.Int8Property.Serialize(writer, property);
327
+ overhead = Int8Property_1.Int8Property.CalcOverhead(property);
328
+ Int8Property_1.Int8Property.Serialize(writer, property);
303
329
  break;
304
330
  case 'UInt8Property':
305
- overhead = Property_1.Uint8Property.CalcOverhead(property);
306
- Property_1.Uint8Property.Serialize(writer, property);
331
+ overhead = Uint8Property_1.Uint8Property.CalcOverhead(property);
332
+ Uint8Property_1.Uint8Property.Serialize(writer, property);
307
333
  break;
308
334
  case 'IntProperty':
309
335
  case 'Int32Property':
310
- overhead = Property_1.Int32Property.CalcOverhead(property);
311
- Property_1.Int32Property.Serialize(writer, property);
336
+ overhead = Int32Property_1.Int32Property.CalcOverhead(property);
337
+ Int32Property_1.Int32Property.Serialize(writer, property);
312
338
  break;
313
339
  case 'UInt32Property':
314
- overhead = Property_1.Uint32Property.CalcOverhead(property);
315
- Property_1.Uint32Property.Serialize(writer, property);
340
+ overhead = Uint32Property_1.Uint32Property.CalcOverhead(property);
341
+ Uint32Property_1.Uint32Property.Serialize(writer, property);
316
342
  break;
317
343
  case 'Int64Property':
318
- overhead = Property_1.Int64Property.CalcOverhead(property);
319
- Property_1.Int64Property.Serialize(writer, property);
344
+ overhead = Int64Property_1.Int64Property.CalcOverhead(property);
345
+ Int64Property_1.Int64Property.Serialize(writer, property);
346
+ break;
347
+ case 'UInt64PRoperty':
348
+ overhead = Uint64Property_1.UInt64Property.CalcOverhead(property);
349
+ Uint64Property_1.UInt64Property.Serialize(writer, property);
320
350
  break;
321
351
  case 'SingleProperty':
322
352
  case 'FloatProperty':
323
- overhead = Property_1.FloatProperty.CalcOverhead(property);
324
- Property_1.FloatProperty.Serialize(writer, property);
353
+ overhead = FloatProperty_1.FloatProperty.CalcOverhead(property);
354
+ FloatProperty_1.FloatProperty.Serialize(writer, property);
325
355
  break;
326
356
  case 'DoubleProperty':
327
- overhead = Property_1.DoubleProperty.CalcOverhead(property);
328
- Property_1.DoubleProperty.Serialize(writer, property);
357
+ overhead = DoubleProperty_1.DoubleProperty.CalcOverhead(property);
358
+ DoubleProperty_1.DoubleProperty.Serialize(writer, property);
329
359
  break;
330
360
  case 'StrProperty':
331
361
  case 'NameProperty':
332
- overhead = Property_1.StrProperty.CalcOverhead(property);
333
- Property_1.StrProperty.Serialize(writer, property);
362
+ overhead = StrProperty_1.StrProperty.CalcOverhead(property);
363
+ StrProperty_1.StrProperty.Serialize(writer, property);
334
364
  break;
335
365
  case 'ObjectProperty':
336
366
  case 'InterfaceProperty':
337
- overhead = Property_1.ObjectProperty.CalcOverhead(property);
338
- Property_1.ObjectProperty.Serialize(writer, property);
367
+ overhead = ObjectProperty_1.ObjectProperty.CalcOverhead(property);
368
+ ObjectProperty_1.ObjectProperty.Serialize(writer, property);
339
369
  break;
340
370
  case 'EnumProperty':
341
- overhead = Property_1.EnumProperty.CalcOverhead(property);
342
- Property_1.EnumProperty.Serialize(writer, property);
371
+ overhead = EnumProperty_1.EnumProperty.CalcOverhead(property);
372
+ EnumProperty_1.EnumProperty.Serialize(writer, property);
343
373
  break;
344
374
  case 'ByteProperty':
345
- overhead = Property_1.ByteProperty.CalcOverhead(property);
346
- Property_1.ByteProperty.Serialize(writer, property);
375
+ overhead = ByteProperty_1.ByteProperty.CalcOverhead(property);
376
+ ByteProperty_1.ByteProperty.Serialize(writer, property);
347
377
  break;
348
378
  case 'StructProperty':
349
- overhead = Property_1.StructProperty.CalcOverhead(property);
350
- Property_1.StructProperty.Serialize(writer, property);
379
+ overhead = StructProperty_1.StructProperty.CalcOverhead(property);
380
+ StructProperty_1.StructProperty.Serialize(writer, property);
351
381
  break;
352
382
  case 'ArrayProperty':
353
- overhead = Property_1.ArrayProperty.CalcOverhead(property);
354
- Property_1.ArrayProperty.Serialize(writer, property, propertyName);
383
+ overhead = ArrayProperty_1.ArrayProperty.CalcOverhead(property);
384
+ ArrayProperty_1.ArrayProperty.Serialize(writer, property, propertyName);
355
385
  break;
356
386
  case 'MapProperty':
357
- overhead = Property_1.MapProperty.CalcOverhead(property);
358
- Property_1.MapProperty.Serialize(writer, property);
387
+ overhead = MapProperty_1.MapProperty.CalcOverhead(property);
388
+ MapProperty_1.MapProperty.Serialize(writer, property);
359
389
  break;
360
390
  case 'TextProperty':
361
- overhead = Property_1.TextProperty.CalcOverhead(property);
362
- Property_1.TextProperty.Serialize(writer, property);
391
+ overhead = TextProperty_1.TextProperty.CalcOverhead(property);
392
+ TextProperty_1.TextProperty.Serialize(writer, property);
363
393
  break;
364
394
  case 'SetProperty':
365
- overhead = Property_1.SetProperty.CalcOverhead(property);
366
- Property_1.SetProperty.Serialize(writer, property);
395
+ overhead = SetProperty_1.SetProperty.CalcOverhead(property);
396
+ SetProperty_1.SetProperty.Serialize(writer, property);
367
397
  break;
368
398
  default:
369
399
  throw new Error(`Unimplemented type ${property.type}`);
@@ -1,7 +1,7 @@
1
1
  import { BinaryReadable } from "../../byte/binary-readable.interface";
2
2
  import { ByteWriter } from "../../byte/byte-writer.class";
3
- import { SpecialAnyProperty } from "./DataFields";
4
- import { PropertiesMap } from "./Property";
3
+ import { PropertiesMap } from "./property/generic/BasicProperty";
4
+ import { SpecialAnyProperty } from './property/special/SpecialAnyProperty';
5
5
  export interface SaveObjectHeader {
6
6
  typePath: string;
7
7
  rootObject: string;
@@ -0,0 +1,21 @@
1
+ import { BinaryReadable } from '../../../../byte/binary-readable.interface';
2
+ import { ByteWriter } from '../../../../byte/byte-writer.class';
3
+ import { BasicProperty } from './BasicProperty';
4
+ export type ArrayPropertyStructValueFields = {
5
+ allStructType: string;
6
+ allIndex: number;
7
+ allGuid: number;
8
+ allUnk1?: number;
9
+ allUnk2?: number;
10
+ allUnk3?: number;
11
+ allUnk4?: number;
12
+ };
13
+ export declare class ArrayProperty<T> extends BasicProperty {
14
+ subtype: string;
15
+ values: T[];
16
+ structValueFields?: ArrayPropertyStructValueFields | undefined;
17
+ constructor(subtype: string, values: T[], ueType?: string, index?: number, structValueFields?: ArrayPropertyStructValueFields | undefined);
18
+ static Parse(reader: BinaryReadable, ueType: string, index: number, propertyName: string): ArrayProperty<any>;
19
+ static CalcOverhead(property: ArrayProperty<any>): number;
20
+ static Serialize(writer: ByteWriter, property: ArrayProperty<any>, propertyName: string): void;
21
+ }