UNPKG

homm3-parsers

Version:

Collection of binary parsers able to parse various file formats related to Heroes of Might and Magic III

33 lines 2.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const binary_markup_1 = require("binary-markup"); const common_bml_1 = require("../common.bml"); const constants_1 = require("../constants"); const WinCondition_1 = require("../contracts/enums/WinCondition"); const aquireArtifact = binary_markup_1.struct( // binary_markup_1.flag `allowNormalWin`, binary_markup_1.flag `appliesToComputer`, common_bml_1.artifact `type`); const accumulateCreatures = binary_markup_1.struct(binary_markup_1.flag `allowNormalWin`, binary_markup_1.flag `appliesToComputer`, common_bml_1.creature `type`, binary_markup_1.uint32 `amount`); const accumulateResources = binary_markup_1.struct(binary_markup_1.flag `allowNormalWin`, binary_markup_1.flag `appliesToComputer`, common_bml_1.resource `resource`, binary_markup_1.uint32 `amount`); const upgradeTown = binary_markup_1.struct(binary_markup_1.flag `allowNormalWin`, binary_markup_1.flag `appliesToComputer`, binary_markup_1.uint8 `x`, binary_markup_1.uint8 `y`, binary_markup_1.uint8 `z`, binary_markup_1.enums(binary_markup_1.uint8, constants_1.hallLevelEnum) `hallLevel`, binary_markup_1.enums(binary_markup_1.uint8, constants_1.castleLevelEnum) `castleLevel`); const position = binary_markup_1.struct( // binary_markup_1.flag `allowNormalWin`, binary_markup_1.flag `appliesToComputer`, binary_markup_1.uint8 `x`, binary_markup_1.uint8 `y`, binary_markup_1.uint8 `z`); const flagWin = binary_markup_1.struct( // binary_markup_1.flag `allowNormalWin`, binary_markup_1.flag `appliesToComputer`); const transportArtifact = binary_markup_1.struct(binary_markup_1.flag `allowNormalWin`, binary_markup_1.flag `appliesToComputer`, binary_markup_1.uint8 `type`, binary_markup_1.uint8 `x`, binary_markup_1.uint8 `y`, binary_markup_1.uint8 `z`); exports.winConditionsBranches = { [WinCondition_1.WinCondition.AcquireArtifact]: aquireArtifact, [WinCondition_1.WinCondition.AccumulateCreatures]: accumulateCreatures, [WinCondition_1.WinCondition.AccumulateResources]: accumulateResources, [WinCondition_1.WinCondition.UpgradeTown]: upgradeTown, [WinCondition_1.WinCondition.BuildGrail]: position, [WinCondition_1.WinCondition.DefeatHero]: position, [WinCondition_1.WinCondition.CaptureTown]: position, [WinCondition_1.WinCondition.DefeatHero]: position, [WinCondition_1.WinCondition.FlagDwellings]: flagWin, [WinCondition_1.WinCondition.FlagMines]: flagWin, [WinCondition_1.WinCondition.TransportArtifact]: transportArtifact, }; //# sourceMappingURL=winConditions.bml.js.map