UNPKG

unpak.js

Version:

Modern TypeScript library for reading Unreal Engine pak files and assets, inspired by CUE4Parse

219 lines 5.19 kB
import { FName } from "../objects/uobject/FName"; import { VersionContainer } from "../versions/VersionContainer"; import { FGuid } from "../objects/core/misc/Guid"; /** * Generic UE4 Reader * @abstract */ export declare abstract class FArchive { protected constructor(versions?: VersionContainer); /** * Contains versions * @type {VersionContainer} * @public */ versions: VersionContainer; /** * Game that is used with this reader * @type {number} * @public */ get game(): number; set game(v: number); /** * Version that is used with this reader * @type {number} * @public */ get ver(): number; set ver(v: number); /** * Whether tagged property serialization is replaced by faster unversioned serialization * This assumes writer and reader share the same property definitions * @type {boolean} * @public */ useUnversionedPropertySerialization: boolean; /** * Whether editor only properties are being filtered from the archive (or has been filtered) * @type {boolean} * @public */ isFilterEditorOnly: boolean; /** * Whether to use little endian order * @type {boolean} * @public * @abstract */ abstract littleEndian: boolean; /** * Clones this * @returns {FArchive} Clone * @public * @abstract */ abstract clone(): FArchive; /** * Size of data * @type {number} * @public * @abstract */ abstract get size(): number; /** * Current position * @type {number} * @public * @abstract */ abstract get pos(): number; abstract set pos(pos: number); /** * Reads to a buffer * @param {Buffer} b Destination * @param {number} off Offset * @param {number} len Length * @returns {void} * @public * @abstract */ abstract readToBuffer(b: Buffer, off?: number, len?: number): void; /** * Reads an amount of bytes and returns them * @param {number} size Amount to read * @returns {Buffer} Read bytes or a byte if size not provided * @public * @abstract */ read(size: number): Buffer; /** * Reads an 8-bit integer * @returns {number} Result * @public */ readInt8(): number; /** * Reads an unsigned 8-bit integer * @returns {number} Result * @public */ readUInt8(): number; /** * Reads a 16-bit integer * @returns {number} Result * @public */ readInt16(): number; /** * Reads an unsigned 16-bit integer * @returns {number} Result * @public */ readUInt16(): number; /** * Reads a 32-bit integer * @returns {number} Result * @public */ readInt32(): number; /** * Reads an unsigned 32-bit integer * @returns {number} Result * @public */ readUInt32(): number; /** * Reads a 64-bit integer * @returns {bigint} Result * @public */ readInt64(): bigint; /** * Reads an unsigned 64-bit integer * @returns {bigint} Result * @public */ readUInt64(): bigint; /** * Reads bits * @param {Buffer} b Buffer to read * @param {number} offBytes Offset to use * @param {number} lenBits Amount of bits to read * @returns {void} * @public */ readBits(b: Buffer, offBytes: number, lenBits: number): void; /** * Reads a 32-bit float * @returns {number} Result * @public */ readFloat32(): number; /** * Reads a double * @returns {number} Result * @public */ readDouble(): number; /** * Reads a boolean * @returns {boolean} Result * @public */ readBoolean(): boolean; /** * Reads a flag * @returns {boolean} Result * @public */ readFlag(): boolean; /** * Reads 32-bit int packed * @returns {number} Int * @public */ readIntPacked(): number; /** * Reads a FString * @returns {string} Result * @public */ readString(): string; /** * Reads FName * @returns {FName} * @public */ readFName(): FName; /** * Gets a custom version from guid * @param {FGuid} guid GUID of version to look for * @returns {number} Custom version */ customVersion(guid: FGuid): number; /** * Reads a bulk array using the given callback * NOTICE: Lambdas usually decrease performance * @param {any} init Callback method to use for initiating array entries * @returns {any[]} Read array * @public */ readBulkArray<T>(init: (index: number) => T): T[]; /** * Reads a bulk array of bytes * NOTICE: Lambdas usually decrease performance * @returns {Buffer} Read Bytes * @see {readBulkArray} * @public */ readBulkByteArray(): Buffer; /** * Returns FArchive info for error * @returns {string} * @public * @abstract */ abstract printError(): string; } //# sourceMappingURL=FArchive.d.ts.map