@etothepii/satisfactory-file-parser
Version:
A file parser for satisfactory files. Includes save files and blueprint files.
37 lines (36 loc) • 1.44 kB
TypeScript
import { ByteReader } from "../../byte/byte-reader.class";
import { ChunkCompressionInfo } from "../../file.types";
import { ObjectReference } from "../objects/ObjectReference";
import { Level } from "./level.class";
import { RoughSaveVersion, SatisfactorySaveHeader } from "./save.types";
export type ReadMode = 'stream' | 'whole';
export declare const DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE = 49;
export type ByteArray4 = [number, number, number, number];
export type Grids = {
[parentName: string]: {
checksum: number;
cellSize: number;
gridHash: number;
children: {
[name: string]: number;
};
};
};
export declare class SaveReader extends ByteReader {
onProgressCallback: (progress: number, msg?: string) => void;
header: SatisfactorySaveHeader | undefined;
levels: Level[];
trailingCollectedObjects: ObjectReference[];
compressionInfo: ChunkCompressionInfo;
static readonly EPOCH_TICKS = 621355968000000000n;
constructor(fileBuffer: ArrayBuffer, onProgressCallback?: (progress: number, msg?: string) => void);
readHeader(): SatisfactorySaveHeader;
static getRoughSaveVersion: (saveVersion: number, headerTypeVersion: number) => RoughSaveVersion;
inflateChunks(): {
concatenatedChunkLength: number;
numChunks: number;
};
readSaveBodyHash: () => ByteArray4;
readGrids: () => Grids;
readLevels(): Level[];
}