homm3-parsers
Version:
Collection of binary parsers able to parse various file formats related to Heroes of Might and Magic III
34 lines • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const object_1 = require("../parsers/h3m/enums/object");
const MetaType_1 = require("../parsers/h3m/contracts/enums/MetaType");
const binary_markup_1 = require("binary-markup");
function getMetaType(type) {
if (type in object_1.objectTypeToMeta) {
return object_1.objectTypeToMeta[type];
}
return MetaType_1.MetaType.None;
}
exports.getMetaType = getMetaType;
exports.bitMasksArray = (tag, bitGroups) => binary_markup_1.createAdapter(tag, (data) => {
return data.reduce((acc, mask, index) => {
const bits = bitGroups[index];
for (const [bit, skill] of bits) {
if (mask & bit) {
acc.push(skill);
}
}
return acc;
}, []);
}, (skills) => {
return bitGroups.map((bits) => {
let mask = 0;
for (const [bit, skill] of bits) {
if (skills.includes(skill)) {
mask |= bit;
}
}
return mask;
});
});
//# sourceMappingURL=objects.js.map