@etothepii/satisfactory-file-parser 0.4.13 → 0.4.15
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/LICENCE.md +1 -1
- package/README.md +64 -28
- package/build/parser/byte/binary-readable.interface.d.ts +0 -3
- package/build/parser/byte/binary-writable.interface.d.ts +20 -0
- package/build/parser/byte/binary-writable.interface.js +2 -0
- package/build/parser/byte/byte-reader.class.d.ts +0 -3
- package/build/parser/byte/byte-reader.class.js +0 -8
- package/build/parser/byte/byte-writer.class.d.ts +6 -3
- package/build/parser/byte/byte-writer.class.js +3 -1
- package/build/parser/satisfactory/blueprint/blueprint-reader.js +8 -8
- package/build/parser/satisfactory/edit/edit-constants.d.ts +2 -0
- package/build/parser/satisfactory/edit/edit-constants.js +82 -158
- package/build/parser/satisfactory/objects/DataFields.js +9 -9
- package/build/parser/satisfactory/objects/SaveObject.d.ts +1 -1
- package/build/parser/satisfactory/objects/SaveObject.js +1 -1
- package/build/parser/satisfactory/objects/property/generic/FloatProperty.js +1 -1
- package/build/parser/satisfactory/objects/property/generic/StructProperty.js +11 -4
- package/build/parser/satisfactory/save/level.class.d.ts +1 -2
- package/build/parser/satisfactory/save/level.class.js +10 -15
- package/build/parser/satisfactory/save/save-reader.js +8 -4
- package/build/parser/satisfactory/save/save.types.d.ts +0 -25
- package/build/parser/satisfactory/structs/util.types.js +8 -8
- package/build/parser/stream/reworked/readable-stream-parser.d.ts +1 -0
- package/build/parser/stream/reworked/readable-stream-parser.js +28 -3
- package/package.json +1 -1
- package/build/parser/satisfactory/objects/ObjectReference.d.ts +0 -10
- package/build/parser/satisfactory/objects/ObjectReference.js +0 -17
- package/build/parser/satisfactory/objects/Property.d.ts +0 -272
- package/build/parser/satisfactory/objects/Property.js +0 -1177
- package/build/parser/satisfactory/objects/ue/FMD5Hash.d.ts +0 -7
- package/build/parser/satisfactory/objects/ue/FMD5Hash.js +0 -19
- package/build/parser/satisfactory/objects/ue/GUID.d.ts +0 -6
- package/build/parser/satisfactory/objects/ue/GUID.js +0 -21
- package/build/parser/satisfactory/save/asynchronous-level.class.d.ts +0 -9
- package/build/parser/satisfactory/save/asynchronous-level.class.js +0 -66
- package/build/parser/stream/byte-stream-reader.class.d.ts +0 -57
- package/build/parser/stream/byte-stream-reader.class.js +0 -241
- package/build/parser/stream/json-stream-state-writer.d.ts +0 -12
- package/build/parser/stream/json-stream-state-writer.js +0 -18
- package/build/parser/stream/json-stream-writable.d.ts +0 -20
- package/build/parser/stream/json-stream-writable.js +0 -83
- package/build/parser/stream/json-stream-writer.d.ts +0 -22
- package/build/parser/stream/json-stream-writer.js +0 -127
- package/build/parser/stream/reworked/stream-parser.d.ts +0 -6
- package/build/parser/stream/reworked/stream-parser.js +0 -31
- package/build/parser/stream/save-stream-json-stringifier.d.ts +0 -6
- package/build/parser/stream/save-stream-json-stringifier.js +0 -35
- package/build/parser/stream/save-stream-reader.class.d.ts +0 -15
- package/build/parser/stream/save-stream-reader.class.js +0 -121
- package/build/parser/stream/save-stream-writer.class.d.ts +0 -25
- package/build/parser/stream/save-stream-writer.class.js +0 -119
- package/build/parser/stream/stream-level.class.d.ts +0 -12
- package/build/parser/stream/stream-level.class.js +0 -103
- package/build/parser/stream/stream-parser.d.ts +0 -40
- package/build/parser/stream/stream-parser.js +0 -225
|
@@ -9,7 +9,6 @@ class Level {
|
|
|
9
9
|
this.name = name;
|
|
10
10
|
this.objects = [];
|
|
11
11
|
this.collectables = [];
|
|
12
|
-
this.remainingStuffAfterHeaders = new Uint8Array();
|
|
13
12
|
}
|
|
14
13
|
static SerializeObjectHeaders(writer, objects) {
|
|
15
14
|
writer.writeInt32(objects.length);
|
|
@@ -30,12 +29,11 @@ class Level {
|
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
31
|
static WriteLevel(writer, level, buildVersion) {
|
|
33
|
-
const
|
|
32
|
+
const lenIndicatorHeaderAndDestroyedEntitiesSize = writer.getBufferPosition();
|
|
34
33
|
writer.writeInt32(0);
|
|
35
34
|
writer.writeInt32(0);
|
|
36
35
|
Level.SerializeObjectHeaders(writer, level.objects);
|
|
37
|
-
|
|
38
|
-
writer.writeBinarySizeFromPosition(lenIndicatorHeaderAndCollectableSize, lenIndicatorHeaderAndCollectableSize + 8);
|
|
36
|
+
writer.writeBinarySizeFromPosition(lenIndicatorHeaderAndDestroyedEntitiesSize, lenIndicatorHeaderAndDestroyedEntitiesSize + 8);
|
|
39
37
|
Level.SerializeObjectContents(writer, level.objects, buildVersion, level.name);
|
|
40
38
|
Level.SerializeCollectablesList(writer, level.collectables);
|
|
41
39
|
}
|
|
@@ -45,7 +43,7 @@ class Level {
|
|
|
45
43
|
writer.writeInt32(0);
|
|
46
44
|
writer.writeInt32(objects.length);
|
|
47
45
|
for (const obj of objects) {
|
|
48
|
-
writer.writeInt32(obj.
|
|
46
|
+
writer.writeInt32(obj.objectVersion);
|
|
49
47
|
writer.writeInt32(obj.unknownType2);
|
|
50
48
|
const lenReplacementPosition = writer.getBufferPosition();
|
|
51
49
|
writer.writeInt32(0);
|
|
@@ -93,7 +91,7 @@ class Level {
|
|
|
93
91
|
onProgressCallback(reader.getBufferProgress(), `read object count [${(i + 1)}/${(countEntities + 1)}] in level ${levelName}`);
|
|
94
92
|
}
|
|
95
93
|
const obj = objectsList[i];
|
|
96
|
-
obj.
|
|
94
|
+
obj.objectVersion = reader.readInt32();
|
|
97
95
|
obj.unknownType2 = reader.readInt32();
|
|
98
96
|
const binarySize = reader.readInt32();
|
|
99
97
|
const before = reader.getBufferPosition();
|
|
@@ -117,7 +115,7 @@ class Level {
|
|
|
117
115
|
Level.ReadObjectHeaders(reader, level.objects, reader.onProgressCallback);
|
|
118
116
|
let remainingSize = headersBinLen - (reader.getBufferPosition() - posBeforeHeaders);
|
|
119
117
|
if (remainingSize > 0) {
|
|
120
|
-
const doubledCollectablesIgnored = Level.ReadCollectablesList(reader
|
|
118
|
+
const doubledCollectablesIgnored = Level.ReadCollectablesList(reader);
|
|
121
119
|
}
|
|
122
120
|
else {
|
|
123
121
|
}
|
|
@@ -135,7 +133,7 @@ class Level {
|
|
|
135
133
|
console.warn('save seems corrupt.', this.name);
|
|
136
134
|
}
|
|
137
135
|
reader.onProgressCallback(reader.getBufferProgress());
|
|
138
|
-
level.collectables = Level.ReadCollectablesList(reader
|
|
136
|
+
level.collectables = Level.ReadCollectablesList(reader);
|
|
139
137
|
return level;
|
|
140
138
|
}
|
|
141
139
|
static SerializeCollectablesList(writer, collectables) {
|
|
@@ -144,14 +142,11 @@ class Level {
|
|
|
144
142
|
ObjectReference_1.ObjectReference.write(writer, collectable);
|
|
145
143
|
}
|
|
146
144
|
}
|
|
147
|
-
static ReadCollectablesList(reader
|
|
145
|
+
static ReadCollectablesList(reader) {
|
|
148
146
|
const collected = [];
|
|
149
|
-
let
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const collectable = ObjectReference_1.ObjectReference.read(reader);
|
|
153
|
-
collected.push(collectable);
|
|
154
|
-
}
|
|
147
|
+
let count = reader.readInt32();
|
|
148
|
+
for (let i = 0; i < count; i++) {
|
|
149
|
+
collected.push(ObjectReference_1.ObjectReference.read(reader));
|
|
155
150
|
}
|
|
156
151
|
return collected;
|
|
157
152
|
}
|
|
@@ -167,11 +167,15 @@ class SaveReader extends byte_reader_class_1.ByteReader {
|
|
|
167
167
|
if (!this.header) {
|
|
168
168
|
throw new parser_error_1.ParserError('ParserError', 'Header must be set before objects can be read.');
|
|
169
169
|
}
|
|
170
|
-
|
|
170
|
+
const roughSaveVersion = SaveReader.getRoughSaveVersion(this.header.saveVersion, this.header.saveHeaderType);
|
|
171
|
+
if (roughSaveVersion === '<U6') {
|
|
171
172
|
throw new parser_error_1.UnsupportedVersionError('Game Version < U6 is not supported.');
|
|
172
173
|
}
|
|
173
|
-
if (
|
|
174
|
-
throw new parser_error_1.UnsupportedVersionError('Game Version
|
|
174
|
+
else if (roughSaveVersion === 'U6/U7') {
|
|
175
|
+
throw new parser_error_1.UnsupportedVersionError('Game Version U6/U7 is not supported in this package version. Consider downgrading to the latest package version supporting it, which is 0.0.34');
|
|
176
|
+
}
|
|
177
|
+
else if (roughSaveVersion === 'U8') {
|
|
178
|
+
throw new parser_error_1.UnsupportedVersionError('Game Version U8 is not supported in this package version. Consider downgrading to the latest package version supporting it, which is 0.3.7');
|
|
175
179
|
}
|
|
176
180
|
const levels = [];
|
|
177
181
|
const levelCount = this.readInt32();
|
|
@@ -184,7 +188,7 @@ class SaveReader extends byte_reader_class_1.ByteReader {
|
|
|
184
188
|
levels.push(level_class_1.Level.ReadLevel(this, levelSingleName, this.header.buildVersion));
|
|
185
189
|
}
|
|
186
190
|
levels.push(level_class_1.Level.ReadLevel(this, this.header.mapName, this.header.buildVersion));
|
|
187
|
-
const trailingStuffToIgnore = level_class_1.Level.ReadCollectablesList(this
|
|
191
|
+
const trailingStuffToIgnore = level_class_1.Level.ReadCollectablesList(this);
|
|
188
192
|
this.onProgressCallback(this.getBufferProgress(), 'finished parsing.');
|
|
189
193
|
return levels;
|
|
190
194
|
}
|
|
@@ -29,28 +29,3 @@ export interface SatisfactorySaveHeader {
|
|
|
29
29
|
creativeModeEnabled?: boolean;
|
|
30
30
|
}
|
|
31
31
|
export type RoughSaveVersion = '<U6' | 'U6/U7' | 'U8' | 'U1.0+';
|
|
32
|
-
export type ResourceNodeEntry = {
|
|
33
|
-
purity: string;
|
|
34
|
-
pathName: string;
|
|
35
|
-
position: {
|
|
36
|
-
x: number;
|
|
37
|
-
y: number;
|
|
38
|
-
z: number;
|
|
39
|
-
};
|
|
40
|
-
type: string;
|
|
41
|
-
};
|
|
42
|
-
export type CollectibleEntry = {
|
|
43
|
-
pathName: string;
|
|
44
|
-
position: {
|
|
45
|
-
x: number;
|
|
46
|
-
y: number;
|
|
47
|
-
z: number;
|
|
48
|
-
};
|
|
49
|
-
type: string;
|
|
50
|
-
};
|
|
51
|
-
export type StaticData = {
|
|
52
|
-
collectibles: CollectibleEntry[];
|
|
53
|
-
artifacts: CollectibleEntry[];
|
|
54
|
-
slugs: CollectibleEntry[];
|
|
55
|
-
resourceNodes: ResourceNodeEntry[];
|
|
56
|
-
};
|
|
@@ -4,10 +4,10 @@ exports.Transform = exports.vec2 = exports.vec3 = exports.vec4 = exports.col4 =
|
|
|
4
4
|
var col4;
|
|
5
5
|
(function (col4) {
|
|
6
6
|
col4.SerializeRGBA = (writer, value) => {
|
|
7
|
-
writer.
|
|
8
|
-
writer.
|
|
9
|
-
writer.
|
|
10
|
-
writer.
|
|
7
|
+
writer.writeFloat32(value.r);
|
|
8
|
+
writer.writeFloat32(value.g);
|
|
9
|
+
writer.writeFloat32(value.b);
|
|
10
|
+
writer.writeFloat32(value.a);
|
|
11
11
|
};
|
|
12
12
|
col4.ParseRGBA = (reader) => {
|
|
13
13
|
return {
|
|
@@ -52,7 +52,7 @@ var vec4;
|
|
|
52
52
|
};
|
|
53
53
|
vec4.SerializeF = (writer, vec) => {
|
|
54
54
|
vec3.SerializeF(writer, vec);
|
|
55
|
-
writer.
|
|
55
|
+
writer.writeFloat32(vec.w);
|
|
56
56
|
};
|
|
57
57
|
})(vec4 || (exports.vec4 = vec4 = {}));
|
|
58
58
|
var vec3;
|
|
@@ -87,7 +87,7 @@ var vec3;
|
|
|
87
87
|
};
|
|
88
88
|
vec3.SerializeF = (writer, vec) => {
|
|
89
89
|
vec2.SerializeF(writer, vec);
|
|
90
|
-
writer.
|
|
90
|
+
writer.writeFloat32(vec.z);
|
|
91
91
|
};
|
|
92
92
|
vec3.sub = (other, vec) => ({ x: other.x - vec.x, y: other.y - vec.y, z: other.z - vec.z });
|
|
93
93
|
vec3.add = (vec, other) => ({ x: vec.x + other.x, y: vec.y + other.y, z: vec.z + other.z });
|
|
@@ -114,8 +114,8 @@ var vec2;
|
|
|
114
114
|
};
|
|
115
115
|
};
|
|
116
116
|
vec2.SerializeF = (writer, vec) => {
|
|
117
|
-
writer.
|
|
118
|
-
writer.
|
|
117
|
+
writer.writeFloat32(vec.x);
|
|
118
|
+
writer.writeFloat32(vec.y);
|
|
119
119
|
};
|
|
120
120
|
})(vec2 || (exports.vec2 = vec2 = {}));
|
|
121
121
|
var Transform;
|
|
@@ -3,8 +3,10 @@ var _a;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.ReadableStreamParser = void 0;
|
|
5
5
|
const web_1 = require("stream/web");
|
|
6
|
+
const parser_error_1 = require("../../error/parser.error");
|
|
6
7
|
const SaveComponent_1 = require("../../satisfactory/objects/SaveComponent");
|
|
7
8
|
const SaveEntity_1 = require("../../satisfactory/objects/SaveEntity");
|
|
9
|
+
const ObjectReference_1 = require("../../satisfactory/objects/values/ObjectReference");
|
|
8
10
|
const level_class_1 = require("../../satisfactory/save/level.class");
|
|
9
11
|
const satisfactory_save_1 = require("../../satisfactory/save/satisfactory-save");
|
|
10
12
|
const save_reader_1 = require("../../satisfactory/save/save-reader");
|
|
@@ -57,7 +59,7 @@ class ReadableStreamParser {
|
|
|
57
59
|
}
|
|
58
60
|
await write(`${j > 0 ? ', ' : ''}{"name": "${levelName}", "objects": [`, false);
|
|
59
61
|
const headersBinLen = reader.readInt32();
|
|
60
|
-
|
|
62
|
+
reader.readInt32();
|
|
61
63
|
const posBeforeHeaders = reader.getBufferPosition();
|
|
62
64
|
const afterAllHeaders = posBeforeHeaders + headersBinLen;
|
|
63
65
|
let countObjectHeaders = reader.readInt32();
|
|
@@ -152,6 +154,16 @@ ReadableStreamParser.CreateReadableStreamFromSaveToJson = (name, bytes, onDecomp
|
|
|
152
154
|
const reader = new save_reader_1.SaveReader(bytes.buffer, onProgress);
|
|
153
155
|
const header = reader.readHeader();
|
|
154
156
|
const save = new satisfactory_save_1.SatisfactorySave(name, header);
|
|
157
|
+
const roughSaveVersion = save_reader_1.SaveReader.getRoughSaveVersion(header.saveVersion, header.saveHeaderType);
|
|
158
|
+
if (roughSaveVersion === '<U6') {
|
|
159
|
+
throw new parser_error_1.UnsupportedVersionError('Game Version < U6 is not supported.');
|
|
160
|
+
}
|
|
161
|
+
else if (roughSaveVersion === 'U6/U7') {
|
|
162
|
+
throw new parser_error_1.UnsupportedVersionError('Game Version U6/U7 is not supported in this package version. Consider downgrading to the latest package version supporting it, which is 0.0.34');
|
|
163
|
+
}
|
|
164
|
+
else if (roughSaveVersion === 'U8') {
|
|
165
|
+
throw new parser_error_1.UnsupportedVersionError('Game Version U8 is not supported in this package version. Consider downgrading to the latest package version supporting it, which is 0.3.7');
|
|
166
|
+
}
|
|
155
167
|
const inflateResult = reader.inflateChunks();
|
|
156
168
|
onDecompressedSaveBody(reader.getBuffer());
|
|
157
169
|
const gridHash = reader.readSaveBodyHash();
|
|
@@ -166,6 +178,15 @@ ReadableStreamParser.CreateReadableStreamFromSaveToJson = (name, bytes, onDecomp
|
|
|
166
178
|
ReadableStreamParser.WriteHeaderAndGrids = async (write, compressionInfo, header, grids, gridHash) => {
|
|
167
179
|
return write(`{"header": ${JSON.stringify(header)}, "compressionInfo": ${JSON.stringify(compressionInfo)}, "gridHash": ${JSON.stringify(gridHash)}, "grids": ${JSON.stringify(grids)}, "levels": [`, false);
|
|
168
180
|
};
|
|
181
|
+
ReadableStreamParser.ReadDestroyedEntityReferences = (reader) => {
|
|
182
|
+
const destroyedEntitiesCount = reader.readInt32();
|
|
183
|
+
const destroyedEntities = [];
|
|
184
|
+
for (let i = 0; i < destroyedEntitiesCount; i++) {
|
|
185
|
+
const destroyed = ObjectReference_1.ObjectReference.read(reader);
|
|
186
|
+
destroyedEntities.push(destroyed);
|
|
187
|
+
}
|
|
188
|
+
return destroyedEntities;
|
|
189
|
+
};
|
|
169
190
|
ReadableStreamParser.ReadNObjectHeaders = (reader, count) => {
|
|
170
191
|
let objects = [];
|
|
171
192
|
let objectsRead = 0;
|
|
@@ -182,7 +203,7 @@ ReadableStreamParser.ReadNObjectHeaders = (reader, count) => {
|
|
|
182
203
|
SaveComponent_1.SaveComponent.ParseHeader(reader, obj);
|
|
183
204
|
break;
|
|
184
205
|
default:
|
|
185
|
-
throw new
|
|
206
|
+
throw new parser_error_1.CorruptSaveError('Unknown object type' + objectType);
|
|
186
207
|
}
|
|
187
208
|
objects.push(obj);
|
|
188
209
|
}
|
|
@@ -190,7 +211,7 @@ ReadableStreamParser.ReadNObjectHeaders = (reader, count) => {
|
|
|
190
211
|
};
|
|
191
212
|
ReadableStreamParser.ReadNObjects = (reader, count, objects, buildVersion) => {
|
|
192
213
|
for (let i = 0; i < count; i++) {
|
|
193
|
-
objects[i].
|
|
214
|
+
objects[i].objectVersion = reader.readInt32();
|
|
194
215
|
objects[i].unknownType2 = reader.readInt32();
|
|
195
216
|
const binarySize = reader.readInt32();
|
|
196
217
|
const before = reader.getBufferPosition();
|
|
@@ -200,5 +221,9 @@ ReadableStreamParser.ReadNObjects = (reader, count, objects, buildVersion) => {
|
|
|
200
221
|
else if ((0, SaveComponent_1.isSaveComponent)(objects[i])) {
|
|
201
222
|
SaveComponent_1.SaveComponent.ParseData(objects[i], binarySize, reader, buildVersion, objects[i].typePath);
|
|
202
223
|
}
|
|
224
|
+
const after = reader.getBufferPosition();
|
|
225
|
+
if (after - before !== binarySize) {
|
|
226
|
+
throw new parser_error_1.CorruptSaveError(`Could not read entity ${objects[i].instanceName}, as ${after - before} bytes were read, but ${binarySize} bytes were indicated.`);
|
|
227
|
+
}
|
|
203
228
|
}
|
|
204
229
|
};
|
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.15",
|
|
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",
|
|
@@ -1,10 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
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 || (exports.ObjectReference = {}));
|
|
17
|
-
;
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { BinaryReadable } from "../../byte/binary-readable.interface";
|
|
2
|
-
import { ByteWriter } from '../../byte/byte-writer.class';
|
|
3
|
-
import { col4, vec3, vec4 } from "../structs/util.types";
|
|
4
|
-
import { GUIDInfo } from './GUIDInfo';
|
|
5
|
-
import { ObjectReference } from "./values/ObjectReference";
|
|
6
|
-
export type PropertiesMap = {
|
|
7
|
-
[name: string]: AbstractBaseProperty | AbstractBaseProperty[];
|
|
8
|
-
};
|
|
9
|
-
export declare abstract class AbstractProperty {
|
|
10
|
-
type: string;
|
|
11
|
-
index?: number | undefined;
|
|
12
|
-
constructor(type: string, index?: number | undefined);
|
|
13
|
-
}
|
|
14
|
-
export declare abstract class AbstractBaseProperty extends AbstractProperty {
|
|
15
|
-
ueType: string;
|
|
16
|
-
name: string;
|
|
17
|
-
constructor(type: string, ueType: string, index: number);
|
|
18
|
-
}
|
|
19
|
-
export declare abstract class BasicProperty extends AbstractBaseProperty {
|
|
20
|
-
guidInfo: GUIDInfo;
|
|
21
|
-
constructor(type: string, ueType: string, guidInfo: GUIDInfo, index?: number);
|
|
22
|
-
}
|
|
23
|
-
export declare class BoolProperty extends BasicProperty {
|
|
24
|
-
value: boolean;
|
|
25
|
-
constructor(value: boolean, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
26
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): BoolProperty;
|
|
27
|
-
static ReadValue(reader: BinaryReadable): boolean;
|
|
28
|
-
static CalcOverhead(property: BoolProperty): number;
|
|
29
|
-
static Serialize(writer: ByteWriter, property: BoolProperty): void;
|
|
30
|
-
static SerializeValue(writer: ByteWriter, value: boolean): void;
|
|
31
|
-
}
|
|
32
|
-
export type BytePropertyValue = {
|
|
33
|
-
type: string;
|
|
34
|
-
value: string | number;
|
|
35
|
-
};
|
|
36
|
-
export declare class ByteProperty extends BasicProperty {
|
|
37
|
-
value: BytePropertyValue;
|
|
38
|
-
constructor(value: BytePropertyValue, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
39
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): ByteProperty;
|
|
40
|
-
static ReadValue(reader: BinaryReadable): number;
|
|
41
|
-
static CalcOverhead(property: ByteProperty): number;
|
|
42
|
-
static Serialize(writer: ByteWriter, property: ByteProperty): void;
|
|
43
|
-
static SerializeValue(writer: ByteWriter, value: number): void;
|
|
44
|
-
}
|
|
45
|
-
export declare class Int8Property extends BasicProperty {
|
|
46
|
-
value: number;
|
|
47
|
-
constructor(value: number, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
48
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): Int8Property;
|
|
49
|
-
static ReadValue(reader: BinaryReadable): number;
|
|
50
|
-
static CalcOverhead(property: Int8Property): number;
|
|
51
|
-
static Serialize(writer: ByteWriter, property: Int8Property): void;
|
|
52
|
-
static SerializeValue(writer: ByteWriter, value: number): void;
|
|
53
|
-
}
|
|
54
|
-
export declare class Uint8Property extends BasicProperty {
|
|
55
|
-
value: number;
|
|
56
|
-
constructor(value: number, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
57
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): Uint8Property;
|
|
58
|
-
static ReadValue(reader: BinaryReadable): number;
|
|
59
|
-
static CalcOverhead(property: Uint8Property): number;
|
|
60
|
-
static Serialize(writer: ByteWriter, property: Uint8Property): void;
|
|
61
|
-
static SerializeValue(writer: ByteWriter, value: number): void;
|
|
62
|
-
}
|
|
63
|
-
export declare class Int32Property extends BasicProperty {
|
|
64
|
-
value: number;
|
|
65
|
-
constructor(value: number, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
66
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): Int32Property;
|
|
67
|
-
static ReadValue(reader: BinaryReadable): number;
|
|
68
|
-
static CalcOverhead(property: Int32Property): number;
|
|
69
|
-
static Serialize(writer: ByteWriter, property: Int32Property): void;
|
|
70
|
-
static SerializeValue(writer: ByteWriter, value: number): void;
|
|
71
|
-
}
|
|
72
|
-
export declare class Uint32Property extends BasicProperty {
|
|
73
|
-
value: number;
|
|
74
|
-
constructor(value: number, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
75
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): Uint32Property;
|
|
76
|
-
static ReadValue(reader: BinaryReadable): number;
|
|
77
|
-
static CalcOverhead(property: Uint32Property): number;
|
|
78
|
-
static Serialize(writer: ByteWriter, property: Uint32Property): void;
|
|
79
|
-
static SerializeValue(writer: ByteWriter, value: number): void;
|
|
80
|
-
}
|
|
81
|
-
export declare class Int64Property extends BasicProperty {
|
|
82
|
-
value: string;
|
|
83
|
-
constructor(value: string, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
84
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): Int64Property;
|
|
85
|
-
static ReadValue(reader: BinaryReadable): string;
|
|
86
|
-
static CalcOverhead(property: Int64Property): number;
|
|
87
|
-
static Serialize(writer: ByteWriter, property: Int64Property): void;
|
|
88
|
-
static SerializeValue(writer: ByteWriter, value: string): void;
|
|
89
|
-
}
|
|
90
|
-
export declare class FloatProperty extends BasicProperty {
|
|
91
|
-
value: number;
|
|
92
|
-
constructor(value: number, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
93
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): FloatProperty;
|
|
94
|
-
static CalcOverhead(property: FloatProperty): number;
|
|
95
|
-
static ReadValue(reader: BinaryReadable): number;
|
|
96
|
-
static Serialize(writer: ByteWriter, property: FloatProperty): void;
|
|
97
|
-
static SerializeValue(writer: ByteWriter, value: number): void;
|
|
98
|
-
}
|
|
99
|
-
export declare class DoubleProperty extends BasicProperty {
|
|
100
|
-
value: number;
|
|
101
|
-
constructor(value: number, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
102
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): DoubleProperty;
|
|
103
|
-
static ReadValue(reader: BinaryReadable): number;
|
|
104
|
-
static CalcOverhead(property: DoubleProperty): number;
|
|
105
|
-
static Serialize(writer: ByteWriter, property: DoubleProperty): void;
|
|
106
|
-
static SerializeValue(writer: ByteWriter, value: number): void;
|
|
107
|
-
}
|
|
108
|
-
export declare class StrProperty extends BasicProperty {
|
|
109
|
-
value: string;
|
|
110
|
-
constructor(value: string, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
111
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): StrProperty;
|
|
112
|
-
static ReadValue(reader: BinaryReadable): string;
|
|
113
|
-
static CalcOverhead(property: StrProperty): number;
|
|
114
|
-
static Serialize(writer: ByteWriter, property: StrProperty): void;
|
|
115
|
-
static SerializeValue(writer: ByteWriter, value: string): void;
|
|
116
|
-
}
|
|
117
|
-
export declare class ObjectProperty extends BasicProperty {
|
|
118
|
-
value: ObjectReference;
|
|
119
|
-
constructor(value: ObjectReference, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
120
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): ObjectProperty;
|
|
121
|
-
static ReadValue(reader: BinaryReadable): ObjectReference;
|
|
122
|
-
static CalcOverhead(property: ObjectProperty): number;
|
|
123
|
-
static Serialize(writer: ByteWriter, property: ObjectProperty): void;
|
|
124
|
-
static SerializeValue(writer: ByteWriter, value: ObjectReference): void;
|
|
125
|
-
}
|
|
126
|
-
export declare class EnumProperty extends BasicProperty {
|
|
127
|
-
value: {
|
|
128
|
-
name: string;
|
|
129
|
-
value: string;
|
|
130
|
-
};
|
|
131
|
-
constructor(value: {
|
|
132
|
-
name: string;
|
|
133
|
-
value: string;
|
|
134
|
-
}, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
135
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): EnumProperty;
|
|
136
|
-
static ReadValue(reader: BinaryReadable): string;
|
|
137
|
-
static CalcOverhead(property: EnumProperty): number;
|
|
138
|
-
static Serialize(writer: ByteWriter, property: EnumProperty): void;
|
|
139
|
-
static SerializeValue(writer: ByteWriter, value: string): void;
|
|
140
|
-
}
|
|
141
|
-
export type TextPropertyValue = {
|
|
142
|
-
flags: number;
|
|
143
|
-
historyType: number;
|
|
144
|
-
namespace?: string;
|
|
145
|
-
key?: string;
|
|
146
|
-
value?: string;
|
|
147
|
-
sourceFmt?: TextPropertyValue;
|
|
148
|
-
arguments?: {
|
|
149
|
-
name: string;
|
|
150
|
-
valueType: number;
|
|
151
|
-
argumentValue: TextPropertyValue;
|
|
152
|
-
}[];
|
|
153
|
-
sourceText?: TextPropertyValue;
|
|
154
|
-
transformType?: number;
|
|
155
|
-
hasCultureInvariantString?: boolean;
|
|
156
|
-
};
|
|
157
|
-
export declare class TextProperty extends BasicProperty {
|
|
158
|
-
value: TextPropertyValue;
|
|
159
|
-
constructor(value: TextPropertyValue, ueType?: string, guidInfo?: GUIDInfo, index?: number);
|
|
160
|
-
static Parse(reader: BinaryReadable, ueType: string, index?: number): TextProperty;
|
|
161
|
-
static ParseValue(reader: BinaryReadable): TextPropertyValue;
|
|
162
|
-
static CalcOverhead(property: TextProperty): number;
|
|
163
|
-
static Serialize(writer: ByteWriter, property: TextProperty): void;
|
|
164
|
-
static SerializeValue(writer: ByteWriter, value: TextPropertyValue): void;
|
|
165
|
-
}
|
|
166
|
-
export type BasicMultipleStructPropertyValue = {
|
|
167
|
-
values: any;
|
|
168
|
-
};
|
|
169
|
-
export type BasicStructPropertyValue = {
|
|
170
|
-
value: any;
|
|
171
|
-
};
|
|
172
|
-
export type BoxStructPropertyValue = {
|
|
173
|
-
min: vec3;
|
|
174
|
-
max: vec3;
|
|
175
|
-
isValid: boolean;
|
|
176
|
-
};
|
|
177
|
-
export type RailroadTrackPositionStructPropertyValue = {
|
|
178
|
-
root: string;
|
|
179
|
-
instanceName: string;
|
|
180
|
-
offset: number;
|
|
181
|
-
forward: number;
|
|
182
|
-
};
|
|
183
|
-
export type InventoryItemStructPropertyValue = {
|
|
184
|
-
unk1: number;
|
|
185
|
-
itemName: string;
|
|
186
|
-
hasItemState: number;
|
|
187
|
-
itemState?: {
|
|
188
|
-
unk: number;
|
|
189
|
-
pathName: string;
|
|
190
|
-
binarySize: number;
|
|
191
|
-
itemStateRaw: number[];
|
|
192
|
-
};
|
|
193
|
-
};
|
|
194
|
-
export type FICFrameRangeStructPropertyValue = {
|
|
195
|
-
begin: string;
|
|
196
|
-
end: string;
|
|
197
|
-
};
|
|
198
|
-
export type DynamicStructPropertyValue = {
|
|
199
|
-
type: string;
|
|
200
|
-
properties: PropertiesMap;
|
|
201
|
-
};
|
|
202
|
-
export type ClientIdentityInfo = {
|
|
203
|
-
id: string;
|
|
204
|
-
clientUnk1: number;
|
|
205
|
-
clientUnk2: number;
|
|
206
|
-
clientHashSize: number;
|
|
207
|
-
someClientHash: number[];
|
|
208
|
-
};
|
|
209
|
-
export type GENERIC_STRUCT_PROPERTY_VALUE = BasicMultipleStructPropertyValue | BasicStructPropertyValue | BoxStructPropertyValue | RailroadTrackPositionStructPropertyValue | InventoryItemStructPropertyValue | FICFrameRangeStructPropertyValue | ClientIdentityInfo | DynamicStructPropertyValue | col4 | vec3 | vec4 | string;
|
|
210
|
-
export declare class StructProperty extends AbstractBaseProperty {
|
|
211
|
-
subtype: string;
|
|
212
|
-
guid: number;
|
|
213
|
-
value: GENERIC_STRUCT_PROPERTY_VALUE;
|
|
214
|
-
unk1?: number;
|
|
215
|
-
unk2?: number;
|
|
216
|
-
unk3?: number;
|
|
217
|
-
unk4?: number;
|
|
218
|
-
constructor(subtype: string, ueType?: string, index?: number, guid?: number);
|
|
219
|
-
static Parse(reader: BinaryReadable, ueType: string, index: number, size: number): StructProperty;
|
|
220
|
-
static ParseValue(reader: BinaryReadable, subtype: string, size: number): GENERIC_STRUCT_PROPERTY_VALUE;
|
|
221
|
-
static CalcOverhead(property: StructProperty): number;
|
|
222
|
-
static Serialize(writer: ByteWriter, property: StructProperty): void;
|
|
223
|
-
static SerializeValue(writer: ByteWriter, subtype: string, value: GENERIC_STRUCT_PROPERTY_VALUE): void;
|
|
224
|
-
}
|
|
225
|
-
export type ArrayPropertyStructValueFields = {
|
|
226
|
-
allStructType: string;
|
|
227
|
-
allIndex: number;
|
|
228
|
-
allGuid: number;
|
|
229
|
-
allUnk1?: number;
|
|
230
|
-
allUnk2?: number;
|
|
231
|
-
allUnk3?: number;
|
|
232
|
-
allUnk4?: number;
|
|
233
|
-
};
|
|
234
|
-
export declare class ArrayProperty<T> extends BasicProperty {
|
|
235
|
-
subtype: string;
|
|
236
|
-
values: T[];
|
|
237
|
-
structValueFields?: ArrayPropertyStructValueFields | undefined;
|
|
238
|
-
constructor(subtype: string, values: T[], ueType?: string, index?: number, structValueFields?: ArrayPropertyStructValueFields | undefined);
|
|
239
|
-
static Parse(reader: BinaryReadable, ueType: string, index: number, propertyName: string): ArrayProperty<any>;
|
|
240
|
-
static CalcOverhead(property: ArrayProperty<any>): number;
|
|
241
|
-
static Serialize(writer: ByteWriter, property: ArrayProperty<any>, propertyName: string): void;
|
|
242
|
-
}
|
|
243
|
-
export declare class SetProperty<T> extends BasicProperty {
|
|
244
|
-
subtype: string;
|
|
245
|
-
values: T[];
|
|
246
|
-
constructor(subtype: string, values: T[], ueType: string, index: number);
|
|
247
|
-
static Parse(reader: BinaryReadable, ueType: string, index: number, propertyName: string): SetProperty<any>;
|
|
248
|
-
static CalcOverhead(property: SetProperty<any>): number;
|
|
249
|
-
static Serialize(writer: ByteWriter, property: SetProperty<any>): void;
|
|
250
|
-
}
|
|
251
|
-
export type MAP_STRUCT_KEY_PROXY = [number, number, number, number, number, number, number, number, number, number, number, number];
|
|
252
|
-
export type GENERIC_MAP_KEY_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE | MAP_STRUCT_KEY_PROXY;
|
|
253
|
-
export type GENERIC_MAP_VALUE_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE;
|
|
254
|
-
export declare class MapProperty extends BasicProperty {
|
|
255
|
-
keyType: string;
|
|
256
|
-
valueType: string;
|
|
257
|
-
modeType: number;
|
|
258
|
-
modeUnk1: string | undefined;
|
|
259
|
-
modeUnk2: string;
|
|
260
|
-
modeUnk3: string;
|
|
261
|
-
values: [key: GENERIC_MAP_KEY_TYPE, value: GENERIC_MAP_VALUE_TYPE][];
|
|
262
|
-
constructor(keyType: string, valueType: string, ueType: string, index: number);
|
|
263
|
-
static Parse(reader: BinaryReadable, propertyName: string, buildVersion: number, size: number, ueType?: string, index?: number): MapProperty;
|
|
264
|
-
static CalcOverhead(property: MapProperty): number;
|
|
265
|
-
static Serialize(writer: ByteWriter, property: MapProperty): void;
|
|
266
|
-
}
|
|
267
|
-
export declare const ParseDynamicStructData: (reader: BinaryReadable, buildVersion: number, type: string) => DynamicStructPropertyValue;
|
|
268
|
-
export declare const SerializeDynamicStructData: (writer: ByteWriter, buildVersion: number, data: DynamicStructPropertyValue) => void;
|
|
269
|
-
export declare const ReadFINNetworkTrace: (reader: BinaryReadable) => any;
|
|
270
|
-
export declare const SerializeFINNetworkTrace: (writer: ByteWriter, obj: any) => void;
|
|
271
|
-
export declare const ReadFINLuaProcessorStateStorage: (reader: BinaryReadable, size: number) => any;
|
|
272
|
-
export declare const SerializeFINLuaProcessorStateStorage: (writer: ByteWriter, stateStorage: any) => void;
|