UNPKG

unreal.js

Version:

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

49 lines (48 loc) 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FChunkDataList = void 0; const FChunkInfo_1 = require("./FChunkInfo"); const Guid_1 = require("../../objects/core/misc/Guid"); /** * FChunkDataList */ class FChunkDataList { /** * 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(); /*const dataVersionInt = */ Ar.readUInt8(); const elementCount = Ar.readInt32(); this.chunkList = []; for (let i = 0; i < elementCount; ++i) this.chunkList[i] = new FChunkInfo_1.FChunkInfo(); for (const chunkInfo of this.chunkList) chunkInfo.guid = new Guid_1.FGuid(Ar); for (const chunkInfo of this.chunkList) chunkInfo.hash = Number(Ar.readUInt64()); for (const chunkInfo of this.chunkList) chunkInfo.shaHash = Ar.read(20); for (const chunkInfo of this.chunkList) chunkInfo.groupNumber = Ar.readUInt8(); for (const chunkInfo of this.chunkList) chunkInfo.windowSize = Ar.readUInt32(); for (const chunkInfo of this.chunkList) chunkInfo.fileSize = Number(Ar.readInt64()); Ar.pos = startPos + dataSize; } /** * Serializes this * @param {FArchiveWriter} Ar UE4 Writer to use * @returns {void} * @public */ serialize(Ar) { } } exports.FChunkDataList = FChunkDataList;