unreal.js
Version:
A pak reader for games like VALORANT & Fortnite written in Node.JS
49 lines (48 loc) • 1.64 kB
JavaScript
;
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;