gulp-armapbo
Version:
The plugin for Gulp which allows to pack ArmA pbo files from sources.
31 lines (29 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const pboWriter_1 = require("./pboWriter");
class PboHeaderWriter {
constructor() {
this._writer = new pboWriter_1.PboWriter();
}
writeHeader(buffer, header) {
let offset = this._writer.writeHeaderEntry(buffer, header.signature, 0);
offset = header.extensions.reduce((o, e) => this._writer.writeHeaderExtension(buffer, e, o), offset);
offset = buffer.writeInt8(0, offset);
offset = header.entries.reduce((o, e) => this._writer.writeHeaderEntry(buffer, e, o), offset);
this._writer.writeHeaderEntry(buffer, header.boundary, offset);
}
measureHeader(header) {
let size = header.signature.getSize();
size = header.extensions.reduce((s, e) => s + e.getSize(), size);
size += 1; //terminating null after the last extension
size = header.entries.reduce((s, e) => s + e.getSize(), size);
size += header.boundary.getSize();
return size;
}
measureBody(header) {
const size = header.entries.reduce((s, e) => s + e.contents.length, 0);
return size;
}
}
exports.PboHeaderWriter = PboHeaderWriter;
//# sourceMappingURL=pboHeaderWriter.js.map