@kobold/core
Version:
Kobold core
30 lines (23 loc) • 1.24 kB
JavaScript
;
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js/object/define-property");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.blockHeaderParser = exports.blockInfoParser = exports.fileInfoParser = exports.FileType = void 0;
var _binaryParser = require("binary-parser");
let FileType;
exports.FileType = FileType;
(function (FileType) {
FileType[FileType["EMPTY"] = 1] = "EMPTY";
FileType[FileType["STANDARD"] = 2] = "STANDARD";
FileType[FileType["MODEL"] = 3] = "MODEL";
FileType[FileType["TEXTURE"] = 4] = "TEXTURE";
})(FileType || (exports.FileType = FileType = {}));
const fileInfoParser = new _binaryParser.Parser().endianess('little').uint32('size').uint32('type').uint32('rawFileSize').seek(8) // unknown
.uint32('blockCount');
exports.fileInfoParser = fileInfoParser;
const blockInfoParser = new _binaryParser.Parser().endianess('little').uint32('offset').uint16('size').uint16('uncompressedSize');
exports.blockInfoParser = blockInfoParser;
const blockHeaderParser = new _binaryParser.Parser().endianess('little').uint32('size').skip(4) // uint32 unknown1
.uint32('compressedSize').uint32('uncompressedSize');
exports.blockHeaderParser = blockHeaderParser;