{"version":3,"file":"MaskHacker.mjs","sources":["../../../src/proj2d/z_masks/MaskHacker.ts"],"sourcesContent":["import { MaskData, MaskSystem } from '@pixi/core';\r\nimport type { Sprite } from '@pixi/sprite';\r\nimport { SpriteMaskFilter2d } from './SpriteMaskFilter';\r\n\r\nconst oldPushSpriteMask = MaskSystem.prototype.pushSpriteMask;\r\n\r\nfunction pushSpriteMaskOverride(maskData: MaskData): void\n{\r\n    const { maskObject } = maskData;\r\n    const origFilter = maskData._filters;\r\n\n    if (!origFilter)\n    {\r\n        let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex];\r\n\n        if (!alphaMaskFilter)\r\n        {\r\n            alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex] = [new SpriteMaskFilter2d(maskObject as Sprite)];\r\n        }\r\n        maskData._filters = alphaMaskFilter;\r\n    }\r\n    oldPushSpriteMask.call(this, maskData);\r\n    if (!origFilter)\n    {\r\n        maskData._filters = null;\r\n    }\r\n}\r\n\r\nexport function patchSpriteMask()\n{\r\n    MaskSystem.prototype.pushSpriteMask = pushSpriteMaskOverride;\r\n}\r\n"],"names":[],"mappings":";;;AAIA,MAAM,iBAAA,GAAoB,WAAW,SAAU,CAAA,cAAA,CAAA;AAE/C,SAAS,uBAAuB,QAChC,EAAA;AACI,EAAM,MAAA,EAAE,YAAe,GAAA,QAAA,CAAA;AACvB,EAAA,MAAM,aAAa,QAAS,CAAA,QAAA,CAAA;AAE5B,EAAA,IAAI,CAAC,UACL,EAAA;AACI,IAAA,IAAI,eAAkB,GAAA,IAAA,CAAK,aAAc,CAAA,IAAA,CAAK,cAAc,CAAA,CAAA;AAE5D,IAAA,IAAI,CAAC,eACL,EAAA;AACI,MAAkB,eAAA,GAAA,IAAA,CAAK,cAAc,IAAK,CAAA,cAAc,IAAI,CAAC,IAAI,kBAAmB,CAAA,UAAoB,CAAC,CAAA,CAAA;AAAA,KAC7G;AACA,IAAA,QAAA,CAAS,QAAW,GAAA,eAAA,CAAA;AAAA,GACxB;AACA,EAAkB,iBAAA,CAAA,IAAA,CAAK,MAAM,QAAQ,CAAA,CAAA;AACrC,EAAA,IAAI,CAAC,UACL,EAAA;AACI,IAAA,QAAA,CAAS,QAAW,GAAA,IAAA,CAAA;AAAA,GACxB;AACJ,CAAA;AAEO,SAAS,eAChB,GAAA;AACI,EAAA,UAAA,CAAW,UAAU,cAAiB,GAAA,sBAAA,CAAA;AAC1C;;;;"}