unpak.js
Version:
Modern TypeScript library for reading Unreal Engine pak files and assets, inspired by CUE4Parse
219 lines • 5.19 kB
TypeScript
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