UNPKG

unreal.js

Version:

A pak reader for games like VALORANT & Fortnite written in Node.JS

59 lines (58 loc) 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FFileManifestList = void 0; const FFileManifest_1 = require("./FFileManifest"); const FChunkPart_1 = require("./FChunkPart"); /** * FFileManifestList */ class FFileManifestList { /** * Creates an instance using an UE4 Reader * @param {FArchive} Ar UE4 Reader to use * @constructor * @public */ constructor(Ar) { const startPos = Ar.pos; const dataSize = Ar.readUInt32(); /*val dataVersionInt = */ Ar.readUInt8(); const elementCount = Ar.readInt32(); this.fileList = []; for (let i = 0; i < elementCount; ++i) this.fileList[i] = new FFileManifest_1.FFileManifest(); for (const fileManifest of this.fileList) fileManifest.fileName = Ar.readString(); for (const fileManifest of this.fileList) fileManifest.symlinkTarget = Ar.readString(); for (const fileManifest of this.fileList) fileManifest.fileHash = Ar.read(20); for (const fileManifest of this.fileList) fileManifest.fileMetaFlags = Ar.readUInt8(); for (const fileManifest of this.fileList) { const len = Ar.readInt32(); fileManifest.installTags = new Array(len); for (let i = 0; i < len; ++i) { fileManifest.installTags[i] = Ar.readString(); } } for (const fileManifest of this.fileList) { const len = Ar.readInt32(); fileManifest.chunkParts = new Array(len); for (let i = 0; i < len; ++i) { fileManifest.chunkParts[i] = new FChunkPart_1.FChunkPart(Ar); } } Ar.pos = startPos + dataSize; } /** * Serializes this * @param {FArchiveWriter} Ar UE4 Writer to use * @returns {void} * @public */ serialize(Ar) { } } exports.FFileManifestList = FFileManifestList;