UNPKG

mdx-m3-viewer

Version:

A browser WebGL model viewer. Mainly focused on models of the games Warcraft 3 and Starcraft 2.

923 lines 41.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const transformer_1 = require("./transformer"); const specific_1 = require("./specific"); const blz_1 = require("./blz"); let initialized = false; let transformers; function rename(name) { return (0, transformer_1.default)({ [name]: {} }); } function swap(parameters) { return function (name) { return (0, transformer_1.default)({ [name]: { parameters } }); }; } function initialize() { if (!initialized) { initialized = true; const swap10 = swap([1, 0]); const swap102 = swap([1, 0, 2]); const swap120 = swap([1, 2, 0]); const swap201 = swap([2, 0, 1]); const swap210 = swap([2, 1, 0]); const swap0231 = swap([0, 2, 3, 1]); const swap1023 = swap([1, 0, 2, 3]); const swap3012 = swap([3, 0, 1, 2]); const swap3201 = swap([3, 2, 0, 1]); const swap3210 = swap([3, 2, 1, 0]); transformers = { UnitId: rename('String2UnitIdBJ'), UnitId2String: rename('UnitId2StringBJ'), GetObjectName: rename('GetAbilityName'), // Math API Sin: (0, transformer_1.default)({ SinBJ: { parameters: [[0, '/', Math.PI / 180]] } }), Cos: (0, transformer_1.default)({ CosBJ: { parameters: [[0, '/', Math.PI / 180]] } }), Tan: (0, transformer_1.default)({ TanBJ: { parameters: [[0, '/', Math.PI / 180]] } }), // String Utility API GetHandleId: rename('GetHandleIdBJ'), SubString: (0, transformer_1.default)({ SubStringBJ: { parameters: [0, [1, '+', 1], 2] } }), StringHash: rename('StringHashBJ'), GetLocalizedString: rename('StringIdentity'), // Map Setup API SetMapFlag: (0, transformer_1.default)({ LockGameSpeedBJ: { tests: [[0, 'MAP_LOCK_SPEED'], [1, 'true']], parameters: [] }, UnlockGameSpeedBJ: { tests: [[0, 'MAP_LOCK_SPEED'], [1, 'false']], parameters: [] } }), SetPlayerColor: (0, transformer_1.default)({ SetPlayerColorBJ: { parameters: [0, 1, 'PlayerChangeColorRetain'] } }), SetPlayerAlliance: swap0231('SetPlayerAllianceBJ'), SetPlayerTaxRate: swap3201('SetPlayerTaxRateBJ'), SetPlayerOnScoreScreen: swap10('SetPlayerOnScoreScreenBJ'), GetPlayerTaxRate: swap201('GetPlayerTaxRateBJ'), // Timer API TimerStart: (0, transformer_1.default)({ StartTimerBJ: { test: [3, 'null'], parameters: [0, 2, 1] } }), PauseTimer: (0, transformer_1.default)({ PauseTimerBJ: { parameters: ['PauseResumePause', 0] } }), ResumeTimer: (0, transformer_1.default)({ PauseTimerBJ: { parameters: ['PauseResumeResume', 0] } }), // Group API GroupAddUnit: swap10('GroupAddUnitSimple'), GroupRemoveUnit: swap10('GroupRemoveUnitSimple'), GroupImmediateOrderById: rename('GroupTrainOrderByIdBJ'), // Force API ForceAddPlayer: swap10('ForceAddPlayerSimple'), ForceRemovePlayer: swap10('ForceRemovePlayerSimple'), // Region and Location API GetWorldBounds: rename('GetEntireMapRect'), // Trigger Game Event API TriggerRegisterTimerEvent: (0, transformer_1.default)({ TriggerRegisterTimerEventPeriodic: { test: [2, 'true'], parameters: [0, 1] }, TriggerRegisterTimerEventSingle: { test: [2, 'false'], parameters: [0, 1] } }), TriggerRegisterTimerExpireEvent: rename('TriggerRegisterTimerExpireEventBJ'), TriggerRegisterGameStateEvent: (0, transformer_1.default)({ TriggerRegisterGameStateEventTimeOfDay: { test: [1, 'GAME_STATE_TIME_OF_DAY'], parameters: [0, 2, 3] } }), TriggerRegisterDialogEvent: rename('TriggerRegisterDialogEventBJ'), TriggerRegisterGameEvent: (0, transformer_1.default)({ TriggerRegisterShowSkillEventBJ: { test: [1, 'EVENT_GAME_SHOW_SKILL'], parameters: [0] }, TriggerRegisterBuildSubmenuEventBJ: { test: [1, 'EVENT_GAME_BUILD_SUBMENU'], parameters: [0] }, TriggerRegisterGameLoadedEventBJ: { test: [1, 'EVENT_GAME_LOADED'], parameters: [0] }, TriggerRegisterGameSavedEventBJ: { test: [1, 'EVENT_GAME_SAVE'], parameters: [0] } }), GetClickedButton: rename('GetClickedButtonBJ'), GetClickedDialog: rename('GetClickedDialogBJ'), // Trigger Player Based Event API TriggerRegisterPlayerEvent: (0, transformer_1.default)({ TriggerRegisterPlayerKeyEventBJ: [ { test: [2, 'EVENT_PLAYER_ARROW_LEFT_DOWN'], parameters: [0, 1, 'KeyEventTypeDepress', 'KeyEventKeyLeft'] }, { test: [2, 'EVENT_PLAYER_ARROW_RIGHT_DOWN'], parameters: [0, 1, 'KeyEventTypeDepress', 'KeyEventKeyRight'] }, { test: [2, 'EVENT_PLAYER_ARROW_DOWN_DOWN'], parameters: [0, 1, 'KeyEventTypeDepress', 'KeyEventKeyDown'] }, { test: [2, 'EVENT_PLAYER_ARROW_UP_DOWN'], parameters: [0, 1, 'KeyEventTypeDepress', 'KeyEventKeyUp'] }, { test: [2, 'EVENT_PLAYER_ARROW_LEFT_UP'], parameters: [0, 1, 'KeyEventTypeRelease', 'KeyEventKeyLeft'] }, { test: [2, 'EVENT_PLAYER_ARROW_RIGHT_UP'], parameters: [0, 1, 'KeyEventTypeRelease', 'KeyEventKeyRight'] }, { test: [2, 'EVENT_PLAYER_ARROW_DOWN_UP'], parameters: [0, 1, 'KeyEventTypeRelease', 'KeyEventKeyDown'] }, { test: [2, 'EVENT_PLAYER_ARROW_UP_UP'], parameters: [0, 1, 'KeyEventTypeRelease', 'KeyEventKeyUp'] } ], TriggerRegisterPlayerMouseEventBJ: [ { test: [2, 'EVENT_PLAYER_MOUSE_DOWN'], parameters: [0, 1, 'MouseEventTypeDown'] }, { test: [2, 'EVENT_PLAYER_MOUSE_UP'], parameters: [0, 1, 'MouseEventTypeUp'] }, { test: [2, 'EVENT_PLAYER_MOUSE_MOVE'], parameters: [0, 1, 'MouseEventTypeMove'] }, ], TriggerRegisterPlayerEventVictory: { test: [2, 'EVENT_PLAYER_VICTORY'], parameters: [0, 1] }, TriggerRegisterPlayerEventDefeat: { test: [2, 'EVENT_PLAYER_DEFEAT'], parameters: [0, 1] }, TriggerRegisterPlayerEventLeave: { test: [2, 'EVENT_PLAYER_LEAVE'], parameters: [0, 1] }, TriggerRegisterPlayerEventAllianceChanged: { test: [2, 'EVENT_PLAYER_ALLIANCE_CHANGED'], parameters: [0, 1] }, TriggerRegisterPlayerEventEndCinematic: { test: [2, 'EVENT_PLAYER_END_CINEMATIC'], parameters: [0, 1] } }), TriggerRegisterPlayerUnitEvent: (0, transformer_1.default)({ TriggerRegisterPlayerUnitEventSimple: { test: [3, 'null'], parameters: [0, 1, 2] } }), GetLearnedSkill: rename('GetLearnedSkillBJ'), GetKillingUnit: rename('GetKillingUnitBJ'), GetTransportUnit: rename('GetTransportUnitBJ'), GetLoadedUnit: rename('GetLoadedUnitBJ'), GetIssuedOrderId: rename('GetIssuedOrderIdBJ'), // Trigger Unit Based Event API TriggerRegisterUnitStateEvent: (0, transformer_1.default)({ TriggerRegisterUnitLifeEvent: { test: [1, 'UNIT_STATE_LIFE'], parameters: [0, 2, 3] }, TriggerRegisterUnitManaEvent: { test: [1, 'UNIT_STATE_MANA'], parameters: [0, 2, 3] } }), TriggerWaitForSound: rename('WaitForSoundBJ'), // Widget API GetWidgetLife: rename('GetItemLifeBJ'), SetWidgetLife: rename('SetItemLifeBJ'), // Destructable Object API SetDestructableInvulnerable: rename('SetDestructableInvulnerableBJ'), IsDestructableInvulnerable: rename('IsDestructableInvulnerableBJ'), EnumDestructablesInRect: (0, transformer_1.default)({ EnumDestructablesInRectAll: { test: [1, 'null'], parameters: [0, 2] } }), SetDestructableMaxLife: rename('SetDestructableMaxLifeBJ'), QueueDestructableAnimation: rename('QueueDestructableAnimationBJ'), SetDestructableAnimation: rename('SetDestructableAnimationBJ'), SetDestructableAnimationSpeed: (0, transformer_1.default)({ SetDestAnimationSpeedPercent: { parameters: [0, [1, '*', 100]] } }), ShowDestructable: swap10('ShowDestructableBJ'), GetTriggerDestructable: rename('GetDyingDestructable'), // Item API SetItemDropOnDeath: rename('SetItemDropOnDeathBJ'), SetItemDroppable: rename('SetItemDroppableBJ'), SetItemPlayer: rename('SetItemPlayerBJ'), SetItemInvulnerable: rename('SetItemInvulnerableBJ'), SetItemVisible: swap10('SetItemVisibleBJ'), IsItemOwned: (0, transformer_1.default)({ CheckItemStatus: { parameters: [0, 'ItemStatusOwned'] } }), IsItemPowerup: (0, transformer_1.default)({ CheckItemStatus: { parameters: [0, 'ItemStatusPowerup'] } }), IsItemSellable: (0, transformer_1.default)({ CheckItemStatus: { parameters: [0, 'ItemStatusSellable'] } }), IsItemPawnable: (0, transformer_1.default)({ CheckItemStatus: { parameters: [0, 'ItemStatusPawnable'] } }), IsItemIdPowerup: (0, transformer_1.default)({ CheckItemcodeStatus: { parameters: [0, 'ItemcodeStatusPowerup'] } }), IsItemIdSellable: (0, transformer_1.default)({ CheckItemcodeStatus: { parameters: [0, 'ItemcodeStatusSellable'] } }), IsItemIdPawnable: (0, transformer_1.default)({ CheckItemcodeStatus: { parameters: [0, 'ItemcodeStatusPawnable'] } }), EnumItemsInRect: (0, transformer_1.default)({ EnumItemsInRectBJ: { test: [1, 'null'], parameters: [0, 2] } }), // Unit API ShowUnit: (0, transformer_1.default)({ ShowUnitShow: { test: [1, 'true'], parameters: [0] }, ShowUnitHide: { test: [1, 'false'], parameters: [0] } }), SetUnitState: (0, transformer_1.default)({ SetUnitLifeBJ: { test: [1, 'UNIT_STATE_LIFE'], parameters: [0, 2] }, SetUnitManaBJ: { test: [1, 'UNIT_STATE_MANA'], parameters: [0, 2] } }), SetUnitFlyHeight: rename('SetUnitFlyHeightBJ'), SetUnitTurnSpeed: rename('SetUnitTurnSpeedBJ'), SetUnitAcquireRange: rename('SetUnitAcquireRangeBJ'), SetUnitCreepGuard: (0, transformer_1.default)({ LockGuardPosition: { test: [1, 'true'], parameters: [0] } }), GetUnitDefaultPropWindow: rename('GetUnitDefaultPropWindowBJ'), SetUnitScale: (0, transformer_1.default)({ SetUnitScalePercent: { parameters: [0, [1, '*', 100], [2, '*', 100], [3, '*', 100]] } }), SetUnitTimeScale: (0, transformer_1.default)({ SetUnitTimeScalePercent: { parameters: [0, [1, '*', 100]] } }), SetUnitBlendTime: rename('SetUnitBlendTimeBJ'), QueueUnitAnimation: rename('QueueUnitAnimationBJ'), SetUnitAnimation: (0, transformer_1.default)({ ResetUnitAnimation: { test: [1, '"stand"'], parameters: [0] } }), AddUnitAnimationProperties: swap210('AddUnitAnimationPropertiesBJ'), SetHeroStr: (0, transformer_1.default)({ ModifyHeroStat: { test: [2, 'true'], parameters: ['HeroStatStr', 0, 'ModifyMethodSet', 1] } }), SetHeroAgi: (0, transformer_1.default)({ ModifyHeroStat: { test: [2, 'true'], parameters: ['HeroStatAgi', 0, 'ModifyMethodSet', 1] } }), SetHeroInt: (0, transformer_1.default)({ ModifyHeroStat: { test: [2, 'true'], parameters: ['HeroStatInt', 0, 'ModifyMethodSet', 1] } }), GetHeroStr: (0, transformer_1.default)({ GetHeroStatBJ: { parameters: ['HeroStatStr', 0, 1] } }), GetHeroAgi: (0, transformer_1.default)({ GetHeroStatBJ: { parameters: ['HeroStatAgi', 0, 1] } }), GetHeroInt: (0, transformer_1.default)({ GetHeroStatBJ: { parameters: ['HeroStatInt', 0, 1] } }), UnitModifySkillPoints: (0, transformer_1.default)({ ModifyHeroSkillPoints: { parameters: [0, '0', 1] } }), AddHeroXP: swap102('AddHeroXPSwapped'), GetUnitAbilityLevel: swap10('GetUnitAbilityLevelSwapped'), DecUnitAbilityLevel: swap10('DecUnitAbilityLevelSwapped'), IncUnitAbilityLevel: swap10('IncUnitAbilityLevelSwapped'), SetUnitAbilityLevel: swap102('SetUnitAbilityLevelSwapped'), SetUnitExploded: rename('SetUnitExplodedBJ'), PauseUnit: swap10('PauseUnitBJ'), IsUnitPaused: rename('IsUnitPausedBJ'), SelectUnit: (0, transformer_1.default)({ SelectUnitAdd: { test: [1, 'true'], parameters: [0] }, SelectUnitRemove: { test: [1, 'false'], parameters: [0] } }), UnitAddItem: swap10('UnitAddItemSwapped'), UnitRemoveItem: swap10('UnitRemoveItemSwapped'), UnitRemoveItemFromSlot: (0, transformer_1.default)({ UnitRemoveItemFromSlotSwapped: { parameters: [0, [1, '+', 1]] } }), UnitItemInSlot: (0, transformer_1.default)({ UnitItemInSlotBJ: { parameters: [0, [1, '+', 1]] } }), UnitInventorySize: rename('UnitInventorySizeBJ'), UnitDropItemSlot: (0, transformer_1.default)({ UnitDropItemSlotBJ: { parameters: [0, 1, [2, '+', 1]] } }), UnitDropItemTarget: rename('UnitDropItemTargetBJ'), GetUnitState: swap10('GetUnitStateSwap'), SetUnitUseFood: swap10('SetUnitUseFoodBJ'), IsUnitOwnedByPlayer: specific_1.transformerIsUnitOwnedByPlayer, IsUnitRace: specific_1.transformerIsUnitRace, IsUnitType: specific_1.transformerIsUnitType, IsUnitHidden: rename('IsUnitHiddenBJ'), IsUnitIllusion: rename('IsUnitIllusionBJ'), IsUnitInTransport: rename('IsUnitInTransportBJ'), IsUnitLoaded: rename('IsUnitLoadedBJ'), UnitShareVision: swap201('UnitShareVisionBJ'), UnitSuspendDecay: swap10('UnitSuspendDecayBJ'), UnitAddType: swap10('UnitAddTypeBJ'), UnitRemoveType: swap10('UnitRemoveTypeBJ'), UnitAddAbility: swap10('UnitAddAbilityBJ'), UnitRemoveAbility: swap10('UnitRemoveAbilityBJ'), UnitRemoveBuffs: (0, transformer_1.default)({ UnitRemoveBuffsBJ: [ { tests: [[1, 'true'], [2, 'false']], parameters: ['BuffTypePositive', 0] }, { tests: [[1, 'false'], [2, 'true']], parameters: ['BuffTypeNegative', 0] }, { tests: [[1, 'true'], [2, 'true']], parameters: ['BuffTypeAll', 0] } ] }), UnitRemoveBuffsEx: (0, transformer_1.default)({ UnitRemoveBuffsBJ: { tests: [[1, 'true'], [2, 'true'], [3, 'false'], [4, 'false'], [5, 'false'], [6, 'true'], [7, 'false']], parameters: ['BuffTypeNonTLife', 0] } }), UnitAddSleep: rename('UnitSetCanSleepBJ'), UnitCanSleep: rename('UnitCanSleepBJ'), UnitIsSleeping: rename('UnitIsSleepingBJ'), UnitWakeUp: rename('UnitWakeUpBJ'), UnitApplyTimedLife: swap210('UnitApplyTimedLifeBJ'), UnitPauseTimedLife: swap10('UnitPauseTimedLifeBJ'), UnitSetUsesAltIcon: swap10('UnitSetUsesAltIconBJ'), UnitDamageTarget: (0, transformer_1.default)({ UnitDamageTargetBJ: { tests: [[3, 'true'], [4, 'false'], [7, 'WEAPON_TYPE_WHOKNOWS']], parameters: [0, 1, 2, 5, 6] } }), IssueImmediateOrderById: rename('IssueTrainOrderByIdBJ'), AddResourceAmount: swap10('AddResourceAmountBJ'), WaygateActivate: swap10('WaygateActivateBJ'), WaygateIsActive: rename('WaygateIsActiveBJ'), AddItemToStock: swap1023('AddItemToStockBJ'), AddUnitToStock: swap1023('AddUnitToStockBJ'), RemoveItemFromStock: swap10('RemoveItemFromStockBJ'), RemoveUnitFromStock: swap10('RemoveUnitFromStockBJ'), // Player API Player: (0, transformer_1.default)({ ConvertedPlayer: { parameters: [[0, '+', 1]] } }), SetPlayerHandicap: (0, transformer_1.default)({ SetPlayerHandicapBJ: { parameters: [0, [1, '*', 100]] } }), SetPlayerHandicapXP: (0, transformer_1.default)({ SetPlayerHandicapXPBJ: { parameters: [0, [1, '*', 100]] } }), SetPlayerTechMaxAllowed: swap120('SetPlayerTechMaxAllowedSwap'), GetPlayerTechMaxAllowed: swap10('GetPlayerTechMaxAllowedSwap'), SetPlayerTechResearched: swap120('SetPlayerTechResearchedSwap'), GetPlayerTechCount: (0, transformer_1.default)({ GetPlayerTechCountSimple: { test: [2, 'true'], parameters: [1, 0] } }), SetPlayerAbilityAvailable: swap210('SetPlayerAbilityAvailableBJ'), // Fog of War API FogMaskEnable: (0, transformer_1.default)({ FogMaskEnableOn: { test: [0, 'true'], parameters: [] }, FogMaskEnableOff: { test: [0, 'false'], parameters: [] } }), FogEnable: (0, transformer_1.default)({ FogEnableOn: { test: [0, 'true'], parameters: [] }, FogEnableOff: { test: [0, 'false'], parameters: [] } }), // Game API SetCampaignMenuRace: (0, transformer_1.default)({ SetCampaignMenuRaceBJ: [ { test: [0, 'RACE_OTHER'], parameters: ['CampaignIndexT'] }, { test: [0, 'RACE_HUMAN'], parameters: ['CampaignIndexH'] }, { test: [0, 'RACE_UNDEAD'], parameters: ['CampaignIndexU'] }, { test: [0, 'RACE_ORC'], parameters: ['CampaignIndexO'] }, { test: [0, 'RACE_NIGHTELF'], parameters: ['CampaignIndexN'] } ] }), SetCampaignMenuRaceEx: (0, transformer_1.default)({ SetCampaignMenuRaceBJ: [ { test: [0, 'bj_CAMPAIGN_OFFSET_XN'], parameters: ['CampaignIndexXN'] }, { test: [0, 'bj_CAMPAIGN_OFFSET_XH'], parameters: ['CampaignIndexXH'] }, { test: [0, 'bj_CAMPAIGN_OFFSET_XU'], parameters: ['CampaignIndexXU'] }, { test: [0, 'bj_CAMPAIGN_OFFSET_XO'], parameters: ['CampaignIndexXO'] } ] }), LoadGame: rename('LoadGameBJ'), RenameSaveDirectory: rename('RenameSaveDirectoryBJ'), RemoveSaveDirectory: rename('RemoveSaveDirectoryBJ'), CopySaveGame: rename('CopySaveGameBJ'), GetFloatGameState: (0, transformer_1.default)({ GetTimeOfDay: { test: [0, 'GAME_STATE_TIME_OF_DAY'], parameters: [] } }), SetFloatGameState: (0, transformer_1.default)({ SetTimeOfDay: { test: [0, 'GAME_STATE_TIME_OF_DAY'], parameters: [1] } }), // Campaign API SetCustomCampaignButtonVisible: (0, transformer_1.default)({ ShowCustomCampaignButton: { parameters: [[0, '+', 1], 1] } }), GetCustomCampaignButtonVisible: (0, transformer_1.default)({ IsCustomCampaignButtonVisibile: { parameters: [[0, '+', 1]] } }), // Dialog API DialogClear: rename('DialogClearBJ'), DialogSetMessage: rename('DialogSetMessageBJ'), DialogDisplay: swap210('DialogDisplayBJ'), InitGameCache: rename('InitGameCacheBJ'), SaveGameCache: rename('SaveGameCacheBJ'), StoreInteger: swap3210('StoreIntegerBJ'), StoreReal: swap3210('StoreRealBJ'), StoreBoolean: swap3210('StoreBooleanBJ'), StoreUnit: swap3210('StoreUnitBJ'), StoreString: swap3210('StoreStringBJ'), HaveStoredBoolean: (0, transformer_1.default)({ HaveStoredValue: { parameters: [2, 'CacheValueTypeBoolean', 1, 0] } }), HaveStoredInteger: (0, transformer_1.default)({ HaveStoredValue: { parameters: [2, 'CacheValueTypeInteger', 1, 0] } }), HaveStoredReal: (0, transformer_1.default)({ HaveStoredValue: { parameters: [2, 'CacheValueTypeReal', 1, 0] } }), HaveStoredUnit: (0, transformer_1.default)({ HaveStoredValue: { parameters: [2, 'CacheValueTypeUnit', 1, 0] } }), HaveStoredString: (0, transformer_1.default)({ HaveStoredValue: { parameters: [2, 'CacheValueTypeString', 1, 0] } }), FlushGameCache: rename('FlushGameCacheBJ'), FlushStoredMission: swap10('FlushStoredMissionBJ'), GetStoredInteger: swap210('GetStoredIntegerBJ'), GetStoredReal: swap210('GetStoredRealBJ'), GetStoredBoolean: swap210('GetStoredBooleanBJ'), GetStoredString: swap210('GetStoredStringBJ'), InitHashtable: rename('InitHashtableBJ'), SaveInteger: swap3210('SaveIntegerBJ'), SaveReal: swap3210('SaveRealBJ'), SaveBoolean: swap3210('SaveBooleanBJ'), SaveStr: swap3210('SaveStringBJ'), SavePlayerHandle: swap3210('SavePlayerHandleBJ'), SaveWidgetHandle: swap3210('SaveWidgetHandleBJ'), SaveDestructableHandle: swap3210('SaveDestructableHandleBJ'), SaveItemHandle: swap3210('SaveItemHandleBJ'), SaveUnitHandle: swap3210('SaveUnitHandleBJ'), SaveAbilityHandle: swap3210('SaveAbilityHandleBJ'), SaveTimerHandle: swap3210('SaveTimerHandleBJ'), SaveTriggerHandle: swap3210('SaveTriggerHandleBJ'), SaveTriggerConditionHandle: swap3210('SaveTriggerConditionHandleBJ'), SaveTriggerActionHandle: swap3210('SaveTriggerActionHandleBJ'), SaveTriggerEventHandle: swap3210('SaveTriggerEventHandleBJ'), SaveForceHandle: swap3210('SaveForceHandleBJ'), SaveGroupHandle: swap3210('SaveGroupHandleBJ'), SaveLocationHandle: swap3210('SaveLocationHandleBJ'), SaveRectHandle: swap3210('SaveRectHandleBJ'), SaveBooleanExprHandle: swap3210('SaveBooleanExprHandleBJ'), SaveSoundHandle: swap3210('SaveSoundHandleBJ'), SaveEffectHandle: swap3210('SaveEffectHandleBJ'), SaveUnitPoolHandle: swap3210('SaveUnitPoolHandleBJ'), SaveItemPoolHandle: swap3210('SaveItemPoolHandleBJ'), SaveQuestHandle: swap3210('SaveQuestHandleBJ'), SaveQuestItemHandle: swap3210('SaveQuestItemHandleBJ'), SaveDefeatConditionHandle: swap3210('SaveDefeatConditionHandleBJ'), SaveTimerDialogHandle: swap3210('SaveTimerDialogHandleBJ'), SaveLeaderboardHandle: swap3210('SaveLeaderboardHandleBJ'), SaveMultiboardHandle: swap3210('SaveMultiboardHandleBJ'), SaveMultiboardItemHandle: swap3210('SaveMultiboardItemHandleBJ'), SaveTrackableHandle: swap3210('SaveTrackableHandleBJ'), SaveDialogHandle: swap3210('SaveDialogHandleBJ'), SaveButtonHandle: swap3210('SaveButtonHandleBJ'), SaveTextTagHandle: swap3210('SaveTextTagHandleBJ'), SaveLightningHandle: swap3210('SaveLightningHandleBJ'), SaveImageHandle: swap3210('SaveImageHandleBJ'), SaveUbersplatHandle: swap3210('SaveUbersplatHandleBJ'), SaveRegionHandle: swap3210('SaveRegionHandleBJ'), SaveFogStateHandle: swap3210('SaveFogStateHandleBJ'), SaveFogModifierHandle: swap3210('SaveFogModifierHandleBJ'), LoadInteger: swap210('LoadIntegerBJ'), LoadReal: swap210('LoadRealBJ'), LoadBoolean: swap210('LoadBooleanBJ'), LoadStr: swap210('LoadStringBJ'), LoadPlayerHandle: swap210('LoadPlayerHandleBJ'), LoadWidgetHandle: swap210('LoadWidgetHandleBJ'), LoadDestructableHandle: swap210('LoadDestructableHandleBJ'), LoadItemHandle: swap210('LoadItemHandleBJ'), LoadUnitHandle: swap210('LoadUnitHandleBJ'), LoadAbilityHandle: swap210('LoadAbilityHandleBJ'), LoadTimerHandle: swap210('LoadTimerHandleBJ'), LoadTriggerHandle: swap210('LoadTriggerHandleBJ'), LoadTriggerConditionHandle: swap210('LoadTriggerConditionHandleBJ'), LoadTriggerActionHandle: swap210('LoadTriggerActionHandleBJ'), LoadTriggerEventHandle: swap210('LoadTriggerEventHandleBJ'), LoadForceHandle: swap210('LoadForceHandleBJ'), LoadGroupHandle: swap210('LoadGroupHandleBJ'), LoadLocationHandle: swap210('LoadLocationHandleBJ'), LoadRectHandle: swap210('LoadRectHandleBJ'), LoadBooleanExprHandle: swap210('LoadBooleanExprHandleBJ'), LoadSoundHandle: swap210('LoadSoundHandleBJ'), LoadEffectHandle: swap210('LoadEffectHandleBJ'), LoadUnitPoolHandle: swap210('LoadUnitPoolHandleBJ'), LoadItemPoolHandle: swap210('LoadItemPoolHandleBJ'), LoadQuestHandle: swap210('LoadQuestHandleBJ'), LoadQuestItemHandle: swap210('LoadQuestItemHandleBJ'), LoadDefeatConditionHandle: swap210('LoadDefeatConditionHandleBJ'), LoadTimerDialogHandle: swap210('LoadTimerDialogHandleBJ'), LoadLeaderboardHandle: swap210('LoadLeaderboardHandleBJ'), LoadMultiboardHandle: swap210('LoadMultiboardHandleBJ'), LoadMultiboardItemHandle: swap210('LoadMultiboardItemHandleBJ'), LoadTrackableHandle: swap210('LoadTrackableHandleBJ'), LoadDialogHandle: swap210('LoadDialogHandleBJ'), LoadButtonHandle: swap210('LoadButtonHandleBJ'), LoadTextTagHandle: swap210('LoadTextTagHandleBJ'), LoadLightningHandle: swap210('LoadLightningHandleBJ'), LoadImageHandle: swap210('LoadImageHandleBJ'), LoadUbersplatHandle: swap210('LoadUbersplatHandleBJ'), LoadRegionHandle: swap210('LoadRegionHandleBJ'), LoadFogStateHandle: swap210('LoadFogStateHandleBJ'), LoadFogModifierHandle: swap210('LoadFogModifierHandleBJ'), HaveSavedBoolean: (0, transformer_1.default)({ HaveSavedValue: { parameters: [2, 'HashtableValueTypeBoolean', 1, 0] } }), HaveSavedInteger: (0, transformer_1.default)({ HaveSavedValue: { parameters: [2, 'HashtableValueTypeInteger', 1, 0] } }), HaveSavedReal: (0, transformer_1.default)({ HaveSavedValue: { parameters: [2, 'HashtableValueTypeReal', 1, 0] } }), HaveSavedString: (0, transformer_1.default)({ HaveSavedValue: { parameters: [2, 'HashtableValueTypeString', 1, 0] } }), HaveSavedHandle: (0, transformer_1.default)({ HaveSavedValue: { parameters: [2, 'HashtableValueTypeHandle', 1, 0] } }), FlushParentHashtable: rename('FlushParentHashtableBJ'), FlushChildHashtable: swap10('FlushChildHashtableBJ'), // Randomization API ChooseRandomCreep: rename('ChooseRandomCreepBJ'), ChooseRandomNPBuilding: rename('ChooseRandomNPBuildingBJ'), ChooseRandomItem: rename('ChooseRandomItemBJ'), ChooseRandomItemEx: swap10('ChooseRandomItemExBJ'), // Visual API ResetTerrainFog: rename('ResetTerrainFogBJ'), SetTerrainFogEx: (0, transformer_1.default)({ SetTerrainFogExBJ: { parameters: [0, 1, 2, 3, [4, '*', 100], [5, '*', 100], [6, '*', 100]] } }), SetTimeOfDayScale: (0, transformer_1.default)({ SetTimeOfDayScalePercentBJ: { parameters: [[0, '*', 100]] } }), PauseGame: (0, transformer_1.default)({ PauseGameOn: { test: [0, 'true'], parameters: [] }, PauseGameOff: { test: [0, 'false'], parameters: [] } }), DestroyTextTag: rename('DestroyTextTagBJ'), SetTextTagPosUnit: rename('SetTextTagPosUnitBJ'), SetTextTagSuspended: rename('SetTextTagSuspendedBJ'), SetTextTagPermanent: rename('SetTextTagPermanentBJ'), SetTextTagAge: rename('SetTextTagAgeBJ'), SetTextTagLifespan: rename('SetTextTagLifespanBJ'), SetTextTagFadepoint: rename('SetTextTagFadepointBJ'), // Quest API DestroyQuest: rename('DestroyQuestBJ'), QuestSetTitle: rename('QuestSetTitleBJ'), QuestSetDescription: rename('QuestSetDescriptionBJ'), QuestSetCompleted: rename('QuestSetCompletedBJ'), QuestSetDiscovered: rename('QuestSetDiscoveredBJ'), QuestSetFailed: rename('QuestSetFailedBJ'), QuestSetEnabled: swap10('QuestSetEnabledBJ'), QuestItemSetDescription: rename('QuestItemSetDescriptionBJ'), QuestItemSetCompleted: rename('QuestItemSetCompletedBJ'), DestroyDefeatCondition: rename('DestroyDefeatConditionBJ'), DefeatConditionSetDescription: rename('DefeatConditionSetDescriptionBJ'), FlashQuestDialogButton: rename('FlashQuestDialogButtonBJ'), // Timer Dialog API DestroyTimerDialog: rename('DestroyTimerDialogBJ'), TimerDialogSetTitle: rename('TimerDialogSetTitleBJ'), TimerDialogDisplay: swap10('TimerDialogDisplayBJ'), // Leaderboard API DestroyLeaderboard: rename('DestroyLeaderboardBJ'), LeaderboardDisplay: swap10('LeaderboardDisplayBJ'), LeaderboardRemovePlayerItem: swap10('LeaderboardRemovePlayerItemBJ'), LeaderboardSortItemsByValue: (0, transformer_1.default)({ LeaderboardSortItemsBJ: { parameters: [0, 'LeaderboardSortByValue', 1] } }), LeaderboardSortItemsByPlayer: (0, transformer_1.default)({ LeaderboardSortItemsBJ: { parameters: [0, 'LeaderboardSortByPlayer', 1] } }), LeaderboardSortItemsByLabel: (0, transformer_1.default)({ LeaderboardSortItemsBJ: { parameters: [0, 'LeaderboardSortByLabel', 1] } }), LeaderboardHasPlayerItem: rename('LeaderboardHasPlayerItemBJ'), LeaderboardSetLabel: rename('LeaderboardSetLabelBJ'), PlayerGetLeaderboard: rename('PlayerGetLeaderboardBJ'), LeaderboardSetStyle: rename('LeaderboardSetStyleBJ'), // Multiboard API DestroyMultiboard: rename('DestroyMultiboardBJ'), MultiboardDisplay: swap10('MultiboardDisplayBJ'), MultiboardMinimize: swap10('MultiboardMinimizeBJ'), // Camera API CameraSetupGetField: swap10('CameraSetupGetFieldSwap'), CameraSetSmoothingFactor: rename('CameraSetSmoothingFactorBJ'), DisplayCineFilter: rename('DisplayCineFilterBJ'), ForceCinematicSubtitles: rename('ForceCinematicSubtitlesBJ'), // Sound API SetSoundDistanceCutoff: rename('SetSoundDistanceCutoffBJ'), SetSoundPitch: rename('SetSoundPitchBJ'), AttachSoundToUnit: rename('AttachSoundToUnitBJ'), StopSound: (0, transformer_1.default)({ StopSoundBJ: { test: [1, 'false'], parameters: [0, 2] } }), KillSoundWhenDone: rename('KillSoundWhenDoneBJ'), SetMapMusic: (0, transformer_1.default)({ SetMapMusicIndexedBJ: { test: [1, 'false'], parameters: [0, 2] }, SetMapMusicRandomBJ: { tests: [[1, 'true'], [2, '0']], parameters: [0] } }), ClearMapMusic: rename('ClearMapMusicBJ'), PlayMusic: rename('PlayMusicBJ'), StopMusic: rename('StopMusicBJ'), ResumeMusic: rename('ResumeMusicBJ'), PlayThematicMusic: rename('PlayThematicMusicBJ'), EndThematicMusic: rename('EndThematicMusicBJ'), VolumeGroupSetVolume: (0, transformer_1.default)({ VolumeGroupSetVolumeBJ: { parameters: [0, [1, '*', 100]] } }), // Effects API AddWeatherEffect: rename('AddWeatherEffectSaveLast'), RemoveWeatherEffect: rename('RemoveWeatherEffectBJ'), AddSpecialEffectLoc: swap10('AddSpecialEffectLocBJ'), AddSpecialEffectTarget: swap210('AddSpecialEffectTargetUnitBJ'), DestroyEffect: rename('DestroyEffectBJ'), DestroyLightning: rename('DestroyLightningBJ'), GetLightningColorA: rename('GetLightningColorABJ'), GetLightningColorR: rename('GetLightningColorRBJ'), GetLightningColorG: rename('GetLightningColorGBJ'), GetLightningColorB: rename('GetLightningColorBBJ'), SetLightningColor: rename('SetLightningColorBJ'), GetAbilityEffectById: rename('GetAbilityEffectBJ'), GetAbilitySoundById: rename('GetAbilitySoundBJ'), // Image API ShowImage: swap10('ShowImageBJ'), // Ubersplat API ShowUbersplat: swap10('ShowUbersplatBJ'), // Blight API SetBlightRect: swap201('SetBlightRectBJ'), SetBlightLoc: swap3012('SetBlightRadiusLocBJ'), // Doodad API SetDoodadAnimationRect: (0, transformer_1.default)({ SetDoodadAnimationRectBJ: { test: [3, 'false'], parameters: [2, 1, 0] }, }), }; } } function transformFunction(data, object) { if (!initialized) { initialize(); } const transform = transformers[object.name]; if (transform) { return transform(data, object); } return (0, blz_1.default)(data, object); } exports.default = transformFunction; //# sourceMappingURL=functions.js.map