@etothepii/satisfactory-file-parser 0.4.4 → 0.4.5

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.
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.2 (Work in Progress)|
21
+ | U1.0 | ✅ >= 0.4.5 |
22
22
 
23
23
 
24
24
  ## Installation via npm
@@ -1885,6 +1885,15 @@ export declare const EDIT: {
1885
1885
  };
1886
1886
  };
1887
1887
  readonly SUBSYSTEMS_AND_MANAGERS: {
1888
+ readonly WORLD_SETTINGS: {
1889
+ readonly TYPE_PATH: "/Script/FactoryGame.FGWorldSettings";
1890
+ };
1891
+ readonly LIGHTWEIGHT_BUILDABLE_SUBSYSTEM: {
1892
+ readonly TYPE_PATH: "/Script/FactoryGame.FGLightweightBuildableSubsystem";
1893
+ };
1894
+ readonly BUILDABLE_SUBSYSTEM: {
1895
+ readonly TYPE_PATH: "/Game/FactoryGame/-Shared/Blueprint/BP_BuildableSubsystem.BP_BuildableSubsystem_C";
1896
+ };
1888
1897
  readonly FOLIAGE_REMOVAL_SUBSYSTEM: {
1889
1898
  readonly TYPE_PATH: "/Script/FactoryGame.FGFoliageRemovalSubsystem";
1890
1899
  };
@@ -1969,6 +1969,15 @@ exports.EDIT = {
1969
1969
  }
1970
1970
  },
1971
1971
  SUBSYSTEMS_AND_MANAGERS: {
1972
+ WORLD_SETTINGS: {
1973
+ TYPE_PATH: '/Script/FactoryGame.FGWorldSettings',
1974
+ },
1975
+ LIGHTWEIGHT_BUILDABLE_SUBSYSTEM: {
1976
+ TYPE_PATH: '/Script/FactoryGame.FGLightweightBuildableSubsystem'
1977
+ },
1978
+ BUILDABLE_SUBSYSTEM: {
1979
+ TYPE_PATH: '/Game/FactoryGame/-Shared/Blueprint/BP_BuildableSubsystem.BP_BuildableSubsystem_C'
1980
+ },
1972
1981
  FOLIAGE_REMOVAL_SUBSYSTEM: {
1973
1982
  TYPE_PATH: '/Script/FactoryGame.FGFoliageRemovalSubsystem'
1974
1983
  },
@@ -1,11 +1,11 @@
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 } from '../structs/util.types';
4
+ import { Transform, vec3, vec4 } from '../structs/util.types';
5
5
  import { AbstractBaseProperty } from "./Property";
6
6
  import { SaveObject } from "./SaveObject";
7
7
  import { ObjectReference } from "./values/ObjectReference";
8
- export type SpecialAnyProperty = {} | PowerLineSpecialProperty | PlayerSpecialProperty;
8
+ export type SpecialAnyProperty = {} | PowerLineSpecialProperty | PlayerSpecialProperty | ConveyorSpecialProperty | BuildableSubsystemSpecialProperty;
9
9
  export type PowerLineSpecialProperty = {
10
10
  num: number;
11
11
  source: ObjectReference;
@@ -32,7 +32,9 @@ export type BuildableSubsystemSpecialProperty = {
32
32
  typePath: string;
33
33
  instances: {
34
34
  transform: Transform;
35
+ unknownUseNumbers: [vec4, vec3];
35
36
  swatchSlotTypePath: string;
37
+ paintFinishPath: string;
36
38
  recipeTypePath: string;
37
39
  }[];
38
40
  }[];
@@ -94,13 +94,20 @@ class DataFields {
94
94
  const transform = util_types_1.Transform.Parse(reader);
95
95
  reader.readInt32();
96
96
  const swatchSlotTypePath = reader.readString();
97
- reader.readBytes(69);
98
- const recipeTypePath = reader.readString();
97
+ const zeroes = util_types_1.vec4.Parse(reader);
98
+ const oneZeroOne = util_types_1.vec3.Parse(reader);
99
+ const unknownUseNumbers = [zeroes, oneZeroOne];
99
100
  reader.readInt32();
101
+ const paintFinishPath = reader.readString();
100
102
  reader.readInt32();
103
+ reader.readBytes(1);
104
+ const recipeTypePath = reader.readString();
105
+ reader.readInt64();
101
106
  instances.push({
102
107
  transform,
108
+ unknownUseNumbers,
103
109
  swatchSlotTypePath,
110
+ paintFinishPath,
104
111
  recipeTypePath,
105
112
  });
106
113
  }
@@ -260,10 +267,14 @@ class DataFields {
260
267
  util_types_1.Transform.Serialize(writer, instance.transform);
261
268
  writer.writeInt32(0);
262
269
  writer.writeString(instance.swatchSlotTypePath);
263
- writer.writeBytesArray(new Array(69).fill(0));
264
- writer.writeString(instance.recipeTypePath);
270
+ util_types_1.vec4.Serialize(writer, instance.unknownUseNumbers[0]);
271
+ util_types_1.vec3.Serialize(writer, instance.unknownUseNumbers[1]);
265
272
  writer.writeInt32(0);
273
+ writer.writeString(instance.paintFinishPath);
266
274
  writer.writeInt32(0);
275
+ writer.writeByte(0);
276
+ writer.writeString(instance.recipeTypePath);
277
+ writer.writeInt64(0n);
267
278
  }
268
279
  }
269
280
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@etothepii/satisfactory-file-parser",
3
3
  "author": "etothepii",
4
- "version": "0.4.4",
4
+ "version": "0.4.5",
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",