@etothepii/satisfactory-file-parser 0.4.20 → 0.4.22
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 +11 -4
- package/build/index.d.ts +35 -36
- package/build/index.js +36 -40
- package/build/parser/satisfactory/blueprint/blueprint-reader.d.ts +2 -2
- package/build/parser/satisfactory/blueprint/blueprint-reader.js +12 -10
- package/build/parser/satisfactory/blueprint/blueprint-writer.d.ts +2 -2
- package/build/parser/satisfactory/blueprint/blueprint-writer.js +6 -6
- package/build/parser/satisfactory/blueprint/blueprint.types.d.ts +6 -5
- package/build/parser/satisfactory/save/level.class.d.ts +6 -6
- package/build/parser/satisfactory/save/level.class.js +22 -22
- package/build/parser/satisfactory/save/save-reader.js +1 -1
- package/build/parser/satisfactory/save/save-writer.js +2 -2
- package/build/parser/satisfactory/save/save.types.d.ts +1 -1
- package/build/parser/satisfactory/types/objects/SaveComponent.d.ts +19 -0
- package/build/parser/satisfactory/types/objects/SaveComponent.js +31 -0
- package/build/parser/satisfactory/types/objects/SaveEntity.d.ts +30 -0
- package/build/parser/satisfactory/types/objects/SaveEntity.js +66 -0
- package/build/parser/satisfactory/types/objects/SaveObject.d.ts +24 -0
- package/build/parser/satisfactory/types/objects/SaveObject.js +33 -0
- package/build/parser/satisfactory/types/property/DataFields.d.ts +15 -0
- package/build/parser/satisfactory/types/property/DataFields.js +493 -0
- package/build/parser/satisfactory/types/property/generic/ArrayProperty.d.ts +22 -0
- package/build/parser/satisfactory/types/property/generic/ArrayProperty.js +171 -0
- package/build/parser/satisfactory/types/property/generic/BasicProperty.d.ts +25 -0
- package/build/parser/satisfactory/types/property/generic/BasicProperty.js +28 -0
- package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts +14 -0
- package/build/parser/satisfactory/types/property/generic/BoolProperty.js +32 -0
- package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts +18 -0
- package/build/parser/satisfactory/types/property/generic/ByteProperty.js +52 -0
- package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts +14 -0
- package/build/parser/satisfactory/types/property/generic/DoubleProperty.js +32 -0
- package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts +20 -0
- package/build/parser/satisfactory/types/property/generic/EnumProperty.js +35 -0
- package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts +14 -0
- package/build/parser/satisfactory/types/property/generic/FloatProperty.js +32 -0
- package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts +14 -0
- package/build/parser/satisfactory/types/property/generic/Int32Property.js +32 -0
- package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts +14 -0
- package/build/parser/satisfactory/types/property/generic/Int64Property.js +32 -0
- package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts +14 -0
- package/build/parser/satisfactory/types/property/generic/Int8Property.js +32 -0
- package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts +22 -0
- package/build/parser/satisfactory/types/property/generic/MapProperty.js +162 -0
- package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts +15 -0
- package/build/parser/satisfactory/types/property/generic/ObjectProperty.js +37 -0
- package/build/parser/satisfactory/types/property/generic/SetProperty.d.ts +12 -0
- package/build/parser/satisfactory/types/property/generic/SetProperty.js +94 -0
- package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts +13 -0
- package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js +27 -0
- package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts +14 -0
- package/build/parser/satisfactory/types/property/generic/StrProperty.js +32 -0
- package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts +69 -0
- package/build/parser/satisfactory/types/property/generic/StructProperty.js +365 -0
- package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts +30 -0
- package/build/parser/satisfactory/types/property/generic/TextProperty.js +111 -0
- package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts +14 -0
- package/build/parser/satisfactory/types/property/generic/Uint32Property.js +32 -0
- package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts +14 -0
- package/build/parser/satisfactory/types/property/generic/Uint64Property.js +32 -0
- package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts +14 -0
- package/build/parser/satisfactory/types/property/generic/Uint8Property.js +32 -0
- package/build/parser/satisfactory/types/property/special/SpecialAnyProperty.d.ts +54 -0
- package/build/parser/satisfactory/types/property/special/SpecialAnyProperty.js +2 -0
- package/build/parser/satisfactory/types/structs/GUID.d.ts +7 -0
- package/build/parser/satisfactory/types/structs/GUID.js +21 -0
- package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts +8 -0
- package/build/parser/satisfactory/types/structs/GUIDInfo.js +26 -0
- package/build/parser/satisfactory/types/structs/MD5Hash.d.ts +10 -0
- package/build/parser/satisfactory/types/structs/MD5Hash.js +21 -0
- package/build/parser/satisfactory/types/structs/ObjectReference.d.ts +10 -0
- package/build/parser/satisfactory/types/structs/ObjectReference.js +17 -0
- package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts +11 -0
- package/build/parser/satisfactory/types/structs/SoftObjectReference.js +19 -0
- package/build/parser/satisfactory/types/structs/Transform.d.ts +15 -0
- package/build/parser/satisfactory/types/structs/Transform.js +32 -0
- package/build/parser/satisfactory/types/structs/col4.d.ts +14 -0
- package/build/parser/satisfactory/types/structs/col4.js +34 -0
- package/build/parser/satisfactory/types/structs/vec2.d.ts +12 -0
- package/build/parser/satisfactory/types/structs/vec2.js +26 -0
- package/build/parser/satisfactory/types/structs/vec3.d.ts +19 -0
- package/build/parser/satisfactory/types/structs/vec3.js +44 -0
- package/build/parser/satisfactory/types/structs/vec4.d.ts +12 -0
- package/build/parser/satisfactory/types/structs/vec4.js +27 -0
- package/build/parser/stream/reworked/readable-stream-parser.js +3 -3
- package/build/parser/stream/reworked/save-stream-writer.class.d.ts +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ObjectReference } from '../../structs/ObjectReference';
|
|
2
|
+
import { Transform } from '../../structs/Transform';
|
|
3
|
+
import { vec2 } from '../../structs/vec2';
|
|
4
|
+
import { vec3 } from '../../structs/vec3';
|
|
5
|
+
export type SpecialAnyProperty = EmptySpecialProperty | PowerLineSpecialProperty | PlayerSpecialProperty | ConveyorChainActorSpecialProperty | BuildableSubsystemSpecialProperty;
|
|
6
|
+
export type EmptySpecialProperty = {};
|
|
7
|
+
export type PowerLineSpecialProperty = {
|
|
8
|
+
source: ObjectReference;
|
|
9
|
+
target: ObjectReference;
|
|
10
|
+
sourceTranslation?: vec3;
|
|
11
|
+
targetTranslation?: vec3;
|
|
12
|
+
};
|
|
13
|
+
export type PlayerSpecialProperty = {
|
|
14
|
+
flag: number;
|
|
15
|
+
eosData?: string;
|
|
16
|
+
steamPlayerData?: string;
|
|
17
|
+
};
|
|
18
|
+
export type ConveyorItemSpecialProperty = {
|
|
19
|
+
position: number;
|
|
20
|
+
itemName: string;
|
|
21
|
+
};
|
|
22
|
+
export type ConveyorChainSegmentSpecialProperty = {
|
|
23
|
+
chainActorRef: ObjectReference;
|
|
24
|
+
beltRef: ObjectReference;
|
|
25
|
+
someCount: number;
|
|
26
|
+
unknownUseBytes: number[];
|
|
27
|
+
firstItemIndex: number;
|
|
28
|
+
lastItemIndex: number;
|
|
29
|
+
beltIndexInChain: number;
|
|
30
|
+
};
|
|
31
|
+
export type ConveyorChainActorSpecialProperty = {
|
|
32
|
+
firstBelt: ObjectReference;
|
|
33
|
+
lastBelt: ObjectReference;
|
|
34
|
+
beltsInChain: ConveyorChainSegmentSpecialProperty[];
|
|
35
|
+
unknownInts: [number, number];
|
|
36
|
+
firstChainItemIndex: number;
|
|
37
|
+
lastChainItemIndex: number;
|
|
38
|
+
items: ConveyorItemSpecialProperty[];
|
|
39
|
+
};
|
|
40
|
+
export type BuildableTypeInstance = {
|
|
41
|
+
transform: Transform;
|
|
42
|
+
unknownUseNumbers: [vec2, vec3];
|
|
43
|
+
swatchSlotTypePath: string;
|
|
44
|
+
paintFinishPath: string;
|
|
45
|
+
recipeTypePath: string;
|
|
46
|
+
patternPath: string;
|
|
47
|
+
blueprintProxy: ObjectReference;
|
|
48
|
+
};
|
|
49
|
+
export type BuildableSubsystemSpecialProperty = {
|
|
50
|
+
buildables: {
|
|
51
|
+
typePath: string;
|
|
52
|
+
instances: BuildableTypeInstance[];
|
|
53
|
+
}[];
|
|
54
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BinaryReadable } from '../../../byte/binary-readable.interface';
|
|
2
|
+
import { ByteWriter } from '../../../byte/byte-writer.class';
|
|
3
|
+
export type GUID = [number, number, number, number];
|
|
4
|
+
export declare namespace GUID {
|
|
5
|
+
const read: (reader: BinaryReadable) => GUID;
|
|
6
|
+
const write: (writer: ByteWriter, guid: GUID) => void;
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GUID = void 0;
|
|
4
|
+
var GUID;
|
|
5
|
+
(function (GUID) {
|
|
6
|
+
GUID.read = (reader) => {
|
|
7
|
+
return [
|
|
8
|
+
reader.readUint32(),
|
|
9
|
+
reader.readUint32(),
|
|
10
|
+
reader.readUint32(),
|
|
11
|
+
reader.readUint32(),
|
|
12
|
+
];
|
|
13
|
+
};
|
|
14
|
+
GUID.write = (writer, guid) => {
|
|
15
|
+
writer.writeUint32(guid[0]);
|
|
16
|
+
writer.writeUint32(guid[1]);
|
|
17
|
+
writer.writeUint32(guid[2]);
|
|
18
|
+
writer.writeUint32(guid[3]);
|
|
19
|
+
};
|
|
20
|
+
})(GUID || (exports.GUID = GUID = {}));
|
|
21
|
+
;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BinaryReadable } from '../../../byte/binary-readable.interface';
|
|
2
|
+
import { ByteWriter } from '../../../byte/byte-writer.class';
|
|
3
|
+
import { GUID } from './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
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GUIDInfo = void 0;
|
|
4
|
+
const GUID_1 = require("./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
|
+
;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ByteReader } from '../../../byte/byte-reader.class';
|
|
2
|
+
import { ByteWriter } from '../../../byte/byte-writer.class';
|
|
3
|
+
export type MD5Hash = {
|
|
4
|
+
isValid: boolean;
|
|
5
|
+
hash?: number[];
|
|
6
|
+
};
|
|
7
|
+
export declare namespace MD5Hash {
|
|
8
|
+
const read: (reader: ByteReader) => MD5Hash;
|
|
9
|
+
const write: (writer: ByteWriter, md5Hash: MD5Hash) => void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MD5Hash = void 0;
|
|
4
|
+
var MD5Hash;
|
|
5
|
+
(function (MD5Hash) {
|
|
6
|
+
MD5Hash.read = (reader) => {
|
|
7
|
+
const md5Hash = { isValid: false };
|
|
8
|
+
md5Hash.isValid = reader.readInt32() === 1;
|
|
9
|
+
if (md5Hash.isValid) {
|
|
10
|
+
md5Hash.hash = Array.from(reader.readBytes(16));
|
|
11
|
+
}
|
|
12
|
+
return md5Hash;
|
|
13
|
+
};
|
|
14
|
+
MD5Hash.write = (writer, md5Hash) => {
|
|
15
|
+
writer.writeInt32(md5Hash.isValid ? 1 : 0);
|
|
16
|
+
if (md5Hash.isValid) {
|
|
17
|
+
writer.writeBytesArray(md5Hash.hash);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
})(MD5Hash || (exports.MD5Hash = MD5Hash = {}));
|
|
21
|
+
;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BinaryReadable } from "../../../byte/binary-readable.interface";
|
|
2
|
+
import { ByteWriter } from "../../../byte/byte-writer.class";
|
|
3
|
+
export type ObjectReference = {
|
|
4
|
+
levelName: string;
|
|
5
|
+
pathName: string;
|
|
6
|
+
};
|
|
7
|
+
export declare namespace ObjectReference {
|
|
8
|
+
const read: (reader: BinaryReadable) => ObjectReference;
|
|
9
|
+
const write: (writer: ByteWriter, ref: ObjectReference) => void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObjectReference = void 0;
|
|
4
|
+
var ObjectReference;
|
|
5
|
+
(function (ObjectReference) {
|
|
6
|
+
ObjectReference.read = (reader) => {
|
|
7
|
+
return {
|
|
8
|
+
levelName: reader.readString(),
|
|
9
|
+
pathName: reader.readString()
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
ObjectReference.write = (writer, ref) => {
|
|
13
|
+
writer.writeString(ref.levelName);
|
|
14
|
+
writer.writeString(ref.pathName);
|
|
15
|
+
};
|
|
16
|
+
})(ObjectReference || (exports.ObjectReference = ObjectReference = {}));
|
|
17
|
+
;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BinaryReadable } from "../../../byte/binary-readable.interface";
|
|
2
|
+
import { ByteWriter } from "../../../byte/byte-writer.class";
|
|
3
|
+
export type SoftObjectReference = {
|
|
4
|
+
instanceName: string;
|
|
5
|
+
pathName: string;
|
|
6
|
+
unk: number;
|
|
7
|
+
};
|
|
8
|
+
export declare namespace SoftObjectReference {
|
|
9
|
+
const read: (reader: BinaryReadable) => SoftObjectReference;
|
|
10
|
+
const write: (writer: ByteWriter, ref: SoftObjectReference) => void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SoftObjectReference = void 0;
|
|
4
|
+
var SoftObjectReference;
|
|
5
|
+
(function (SoftObjectReference) {
|
|
6
|
+
SoftObjectReference.read = (reader) => {
|
|
7
|
+
return {
|
|
8
|
+
pathName: reader.readString(),
|
|
9
|
+
instanceName: reader.readString(),
|
|
10
|
+
unk: reader.readInt32()
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
SoftObjectReference.write = (writer, ref) => {
|
|
14
|
+
writer.writeString(ref.pathName);
|
|
15
|
+
writer.writeString(ref.instanceName);
|
|
16
|
+
writer.writeInt32(ref.unk);
|
|
17
|
+
};
|
|
18
|
+
})(SoftObjectReference || (exports.SoftObjectReference = SoftObjectReference = {}));
|
|
19
|
+
;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BinaryReadable } from '../../../byte/binary-readable.interface';
|
|
2
|
+
import { ByteWriter } from '../../../byte/byte-writer.class';
|
|
3
|
+
import { vec3 } from './vec3';
|
|
4
|
+
import { vec4 } from './vec4';
|
|
5
|
+
export type Transform = {
|
|
6
|
+
rotation: vec4;
|
|
7
|
+
translation: vec3;
|
|
8
|
+
scale3d: vec3;
|
|
9
|
+
};
|
|
10
|
+
export declare namespace Transform {
|
|
11
|
+
const ParseF: (reader: BinaryReadable) => Transform;
|
|
12
|
+
const Parse: (reader: BinaryReadable) => Transform;
|
|
13
|
+
const Serialize: (writer: ByteWriter, transform: Transform) => void;
|
|
14
|
+
const SerializeF: (writer: ByteWriter, transform: Transform) => void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Transform = void 0;
|
|
4
|
+
const vec3_1 = require("./vec3");
|
|
5
|
+
const vec4_1 = require("./vec4");
|
|
6
|
+
var Transform;
|
|
7
|
+
(function (Transform) {
|
|
8
|
+
Transform.ParseF = (reader) => {
|
|
9
|
+
return {
|
|
10
|
+
rotation: vec4_1.vec4.ParseF(reader),
|
|
11
|
+
translation: vec3_1.vec3.ParseF(reader),
|
|
12
|
+
scale3d: vec3_1.vec3.ParseF(reader),
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
Transform.Parse = (reader) => {
|
|
16
|
+
return {
|
|
17
|
+
rotation: vec4_1.vec4.Parse(reader),
|
|
18
|
+
translation: vec3_1.vec3.Parse(reader),
|
|
19
|
+
scale3d: vec3_1.vec3.Parse(reader),
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
Transform.Serialize = (writer, transform) => {
|
|
23
|
+
vec4_1.vec4.Serialize(writer, transform.rotation);
|
|
24
|
+
vec3_1.vec3.Serialize(writer, transform.translation);
|
|
25
|
+
vec3_1.vec3.Serialize(writer, transform.scale3d);
|
|
26
|
+
};
|
|
27
|
+
Transform.SerializeF = (writer, transform) => {
|
|
28
|
+
vec4_1.vec4.SerializeF(writer, transform.rotation);
|
|
29
|
+
vec3_1.vec3.SerializeF(writer, transform.translation);
|
|
30
|
+
vec3_1.vec3.SerializeF(writer, transform.scale3d);
|
|
31
|
+
};
|
|
32
|
+
})(Transform || (exports.Transform = Transform = {}));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BinaryReadable } from '../../../byte/binary-readable.interface';
|
|
2
|
+
import { ByteWriter } from '../../../byte/byte-writer.class';
|
|
3
|
+
export type col4 = {
|
|
4
|
+
r: number;
|
|
5
|
+
g: number;
|
|
6
|
+
b: number;
|
|
7
|
+
a: number;
|
|
8
|
+
};
|
|
9
|
+
export declare namespace col4 {
|
|
10
|
+
const SerializeRGBA: (writer: ByteWriter, value: col4) => void;
|
|
11
|
+
const ParseRGBA: (reader: BinaryReadable) => col4;
|
|
12
|
+
const SerializeBGRA: (writer: ByteWriter, value: col4) => void;
|
|
13
|
+
const ParseBGRA: (reader: BinaryReadable) => col4;
|
|
14
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.col4 = void 0;
|
|
4
|
+
var col4;
|
|
5
|
+
(function (col4) {
|
|
6
|
+
col4.SerializeRGBA = (writer, value) => {
|
|
7
|
+
writer.writeFloat32(value.r);
|
|
8
|
+
writer.writeFloat32(value.g);
|
|
9
|
+
writer.writeFloat32(value.b);
|
|
10
|
+
writer.writeFloat32(value.a);
|
|
11
|
+
};
|
|
12
|
+
col4.ParseRGBA = (reader) => {
|
|
13
|
+
return {
|
|
14
|
+
r: reader.readFloat32(),
|
|
15
|
+
g: reader.readFloat32(),
|
|
16
|
+
b: reader.readFloat32(),
|
|
17
|
+
a: reader.readFloat32(),
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
col4.SerializeBGRA = (writer, value) => {
|
|
21
|
+
writer.writeByte(value.b);
|
|
22
|
+
writer.writeByte(value.g);
|
|
23
|
+
writer.writeByte(value.r);
|
|
24
|
+
writer.writeByte(value.a);
|
|
25
|
+
};
|
|
26
|
+
col4.ParseBGRA = (reader) => {
|
|
27
|
+
return {
|
|
28
|
+
b: reader.readByte(),
|
|
29
|
+
g: reader.readByte(),
|
|
30
|
+
r: reader.readByte(),
|
|
31
|
+
a: reader.readByte(),
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
})(col4 || (exports.col4 = col4 = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BinaryReadable } from '../../../byte/binary-readable.interface';
|
|
2
|
+
import { ByteWriter } from '../../../byte/byte-writer.class';
|
|
3
|
+
export type vec2 = {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
};
|
|
7
|
+
export declare namespace vec2 {
|
|
8
|
+
const Parse: (reader: BinaryReadable) => vec2;
|
|
9
|
+
const Serialize: (writer: ByteWriter, vec: vec2) => void;
|
|
10
|
+
const ParseF: (reader: BinaryReadable) => vec2;
|
|
11
|
+
const SerializeF: (writer: ByteWriter, vec: vec2) => void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.vec2 = void 0;
|
|
4
|
+
var vec2;
|
|
5
|
+
(function (vec2) {
|
|
6
|
+
vec2.Parse = (reader) => {
|
|
7
|
+
return {
|
|
8
|
+
x: reader.readDouble(),
|
|
9
|
+
y: reader.readDouble(),
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
vec2.Serialize = (writer, vec) => {
|
|
13
|
+
writer.writeDouble(vec.x);
|
|
14
|
+
writer.writeDouble(vec.y);
|
|
15
|
+
};
|
|
16
|
+
vec2.ParseF = (reader) => {
|
|
17
|
+
return {
|
|
18
|
+
x: reader.readFloat32(),
|
|
19
|
+
y: reader.readFloat32(),
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
vec2.SerializeF = (writer, vec) => {
|
|
23
|
+
writer.writeFloat32(vec.x);
|
|
24
|
+
writer.writeFloat32(vec.y);
|
|
25
|
+
};
|
|
26
|
+
})(vec2 || (exports.vec2 = vec2 = {}));
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BinaryReadable } from '../../../byte/binary-readable.interface';
|
|
2
|
+
import { ByteWriter } from '../../../byte/byte-writer.class';
|
|
3
|
+
import { vec2 } from './vec2';
|
|
4
|
+
export type vec3 = vec2 & {
|
|
5
|
+
z: number;
|
|
6
|
+
};
|
|
7
|
+
export declare namespace vec3 {
|
|
8
|
+
const Parse: (reader: BinaryReadable) => vec3;
|
|
9
|
+
const Serialize: (writer: ByteWriter, vec: vec3) => void;
|
|
10
|
+
const ParseInt: (reader: BinaryReadable) => vec3;
|
|
11
|
+
const SerializeInt: (writer: ByteWriter, vec: vec3) => void;
|
|
12
|
+
const ParseF: (reader: BinaryReadable) => vec3;
|
|
13
|
+
const SerializeF: (writer: ByteWriter, vec: vec3) => void;
|
|
14
|
+
const sub: (other: vec3, vec: vec3) => vec3;
|
|
15
|
+
const add: (vec: vec3, other: vec3) => vec3;
|
|
16
|
+
const length: (vec: vec3) => number;
|
|
17
|
+
const mult: (vec: vec3, scale: number) => vec3;
|
|
18
|
+
const norm: (vec: vec3) => vec3;
|
|
19
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.vec3 = void 0;
|
|
4
|
+
const vec2_1 = require("./vec2");
|
|
5
|
+
var vec3;
|
|
6
|
+
(function (vec3) {
|
|
7
|
+
vec3.Parse = (reader) => {
|
|
8
|
+
return {
|
|
9
|
+
...(vec2_1.vec2.Parse(reader)),
|
|
10
|
+
z: reader.readDouble()
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
vec3.Serialize = (writer, vec) => {
|
|
14
|
+
vec2_1.vec2.Serialize(writer, vec);
|
|
15
|
+
writer.writeDouble(vec.z);
|
|
16
|
+
};
|
|
17
|
+
vec3.ParseInt = (reader) => {
|
|
18
|
+
return {
|
|
19
|
+
x: reader.readInt32(),
|
|
20
|
+
y: reader.readInt32(),
|
|
21
|
+
z: reader.readInt32()
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
vec3.SerializeInt = (writer, vec) => {
|
|
25
|
+
writer.writeInt32(vec.x);
|
|
26
|
+
writer.writeInt32(vec.y);
|
|
27
|
+
writer.writeInt32(vec.z);
|
|
28
|
+
};
|
|
29
|
+
vec3.ParseF = (reader) => {
|
|
30
|
+
return {
|
|
31
|
+
...(vec2_1.vec2.ParseF(reader)),
|
|
32
|
+
z: reader.readFloat32()
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
vec3.SerializeF = (writer, vec) => {
|
|
36
|
+
vec2_1.vec2.SerializeF(writer, vec);
|
|
37
|
+
writer.writeFloat32(vec.z);
|
|
38
|
+
};
|
|
39
|
+
vec3.sub = (other, vec) => ({ x: other.x - vec.x, y: other.y - vec.y, z: other.z - vec.z });
|
|
40
|
+
vec3.add = (vec, other) => ({ x: vec.x + other.x, y: vec.y + other.y, z: vec.z + other.z });
|
|
41
|
+
vec3.length = (vec) => Math.sqrt(vec.x ** 2 + vec.y ** 2 + vec.z ** 2);
|
|
42
|
+
vec3.mult = (vec, scale) => ({ x: vec.x * scale, y: vec.y * scale, z: vec.z * scale });
|
|
43
|
+
vec3.norm = (vec) => vec3.mult(vec, 1. / vec3.length(vec));
|
|
44
|
+
})(vec3 || (exports.vec3 = vec3 = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BinaryReadable } from '../../../byte/binary-readable.interface';
|
|
2
|
+
import { ByteWriter } from '../../../byte/byte-writer.class';
|
|
3
|
+
import { vec3 } from './vec3';
|
|
4
|
+
export type vec4 = vec3 & {
|
|
5
|
+
w: number;
|
|
6
|
+
};
|
|
7
|
+
export declare namespace vec4 {
|
|
8
|
+
const Parse: (reader: BinaryReadable) => vec4;
|
|
9
|
+
const Serialize: (writer: ByteWriter, vec: vec4) => void;
|
|
10
|
+
const ParseF: (reader: BinaryReadable) => vec4;
|
|
11
|
+
const SerializeF: (writer: ByteWriter, vec: vec4) => void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.vec4 = void 0;
|
|
4
|
+
const vec3_1 = require("./vec3");
|
|
5
|
+
var vec4;
|
|
6
|
+
(function (vec4) {
|
|
7
|
+
vec4.Parse = (reader) => {
|
|
8
|
+
return {
|
|
9
|
+
...(vec3_1.vec3.Parse(reader)),
|
|
10
|
+
w: reader.readDouble()
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
vec4.Serialize = (writer, vec) => {
|
|
14
|
+
vec3_1.vec3.Serialize(writer, vec);
|
|
15
|
+
writer.writeDouble(vec.w);
|
|
16
|
+
};
|
|
17
|
+
vec4.ParseF = (reader) => {
|
|
18
|
+
return {
|
|
19
|
+
...(vec3_1.vec3.ParseF(reader)),
|
|
20
|
+
w: reader.readFloat32()
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
vec4.SerializeF = (writer, vec) => {
|
|
24
|
+
vec3_1.vec3.SerializeF(writer, vec);
|
|
25
|
+
writer.writeFloat32(vec.w);
|
|
26
|
+
};
|
|
27
|
+
})(vec4 || (exports.vec4 = vec4 = {}));
|
|
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.ReadableStreamParser = void 0;
|
|
5
5
|
const web_1 = require("stream/web");
|
|
6
6
|
const parser_error_1 = require("../../error/parser.error");
|
|
7
|
-
const SaveComponent_1 = require("../../satisfactory/objects/SaveComponent");
|
|
8
|
-
const SaveEntity_1 = require("../../satisfactory/objects/SaveEntity");
|
|
9
|
-
const ObjectReference_1 = require("../../satisfactory/objects/values/ObjectReference");
|
|
10
7
|
const level_class_1 = require("../../satisfactory/save/level.class");
|
|
11
8
|
const satisfactory_save_1 = require("../../satisfactory/save/satisfactory-save");
|
|
12
9
|
const save_reader_1 = require("../../satisfactory/save/save-reader");
|
|
10
|
+
const SaveComponent_1 = require("../../satisfactory/types/objects/SaveComponent");
|
|
11
|
+
const SaveEntity_1 = require("../../satisfactory/types/objects/SaveEntity");
|
|
12
|
+
const ObjectReference_1 = require("../../satisfactory/types/structs/ObjectReference");
|
|
13
13
|
const DEFAULT_BYTE_HIGHWATERMARK = 1024 * 1024 * 200;
|
|
14
14
|
const createStringLengthQueuingStrategy = (highWaterMark = DEFAULT_BYTE_HIGHWATERMARK / 4) => ({
|
|
15
15
|
highWaterMark,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { WritableStreamDefaultWriter } from "stream/web";
|
|
2
2
|
import { ChunkCompressionInfo } from '../../file.types';
|
|
3
|
-
import { SaveObject } from "../../satisfactory/objects/SaveObject";
|
|
4
|
-
import { ObjectReference } from '../../satisfactory/objects/values/ObjectReference';
|
|
5
3
|
import { ByteArray4, Grids } from '../../satisfactory/save/save-reader';
|
|
6
4
|
import { SatisfactorySaveHeader } from '../../satisfactory/save/save.types';
|
|
5
|
+
import { SaveObject } from "../../satisfactory/types/objects/SaveObject";
|
|
6
|
+
import { ObjectReference } from '../../satisfactory/types/structs/ObjectReference';
|
|
7
7
|
export declare class SaveStreamWriter {
|
|
8
8
|
private writer;
|
|
9
9
|
private mode;
|
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
|
+
"version": "0.4.22",
|
|
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",
|