melonjs 14.3.0 → 14.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -55
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +2 -2
- package/dist/melonjs.mjs/_virtual/arraymultimap.js +2 -2
- package/dist/melonjs.mjs/_virtual/earcut.js +2 -2
- package/dist/melonjs.mjs/_virtual/howler.js +2 -2
- package/dist/melonjs.mjs/_virtual/index.js +2 -2
- package/dist/melonjs.mjs/_virtual/index2.js +2 -2
- package/dist/melonjs.mjs/_virtual/multimap.js +2 -2
- package/dist/melonjs.mjs/_virtual/setmultimap.js +2 -2
- package/dist/melonjs.mjs/application/application.js +8 -21
- package/dist/melonjs.mjs/application/header.js +2 -2
- package/dist/melonjs.mjs/application/resize.js +4 -2
- package/dist/melonjs.mjs/application/settings.js +2 -2
- package/dist/melonjs.mjs/audio/audio.js +5 -5
- package/dist/melonjs.mjs/camera/camera2d.js +2 -2
- package/dist/melonjs.mjs/const.js +32 -0
- package/dist/melonjs.mjs/entity/entity.js +44 -10
- package/dist/melonjs.mjs/geometries/ellipse.js +3 -4
- package/dist/melonjs.mjs/geometries/line.js +2 -2
- package/dist/melonjs.mjs/geometries/path2d.js +19 -43
- package/dist/melonjs.mjs/geometries/point.js +2 -7
- package/dist/melonjs.mjs/geometries/poly.js +3 -6
- package/dist/melonjs.mjs/geometries/rectangle.js +14 -10
- package/dist/melonjs.mjs/geometries/roundrect.js +2 -2
- package/dist/melonjs.mjs/index.js +11 -9
- package/dist/melonjs.mjs/input/gamepad.js +11 -17
- package/dist/melonjs.mjs/input/input.js +2 -2
- package/dist/melonjs.mjs/input/keyboard.js +2 -2
- package/dist/melonjs.mjs/input/pointer.js +2 -2
- package/dist/melonjs.mjs/input/pointerevent.js +3 -17
- package/dist/melonjs.mjs/lang/console.js +44 -0
- package/dist/melonjs.mjs/lang/deprecated.js +4 -40
- package/dist/melonjs.mjs/level/level.js +4 -4
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +2 -23
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +67 -64
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +2 -64
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +10 -26
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +21 -83
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +6 -20
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -10
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +37 -14
- package/dist/melonjs.mjs/level/tiled/constants.js +17 -0
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +7 -8
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +3 -6
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -14
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +38 -0
- package/dist/melonjs.mjs/loader/cache.js +24 -0
- package/dist/melonjs.mjs/loader/loader.js +332 -715
- package/dist/melonjs.mjs/loader/loadingscreen.js +5 -5
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +2 -2
- package/dist/melonjs.mjs/loader/parser.js +281 -0
- package/dist/melonjs.mjs/loader/settings.js +91 -0
- package/dist/melonjs.mjs/math/color.js +2 -2
- package/dist/melonjs.mjs/math/math.js +2 -2
- package/dist/melonjs.mjs/math/matrix2.js +8 -10
- package/dist/melonjs.mjs/math/matrix3.js +19 -22
- package/dist/melonjs.mjs/math/observable_vector2.js +4 -4
- package/dist/melonjs.mjs/math/observable_vector3.js +4 -5
- package/dist/melonjs.mjs/math/vector2.js +4 -4
- package/dist/melonjs.mjs/math/vector3.js +4 -5
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +2 -2
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +2 -2
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +2 -2
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +2 -2
- package/dist/melonjs.mjs/particles/emitter.js +4 -4
- package/dist/melonjs.mjs/particles/particle.js +2 -2
- package/dist/melonjs.mjs/particles/settings.js +2 -2
- package/dist/melonjs.mjs/physics/body.js +19 -15
- package/dist/melonjs.mjs/physics/bounds.js +19 -71
- package/dist/melonjs.mjs/physics/collision.js +3 -3
- package/dist/melonjs.mjs/physics/detector.js +2 -2
- package/dist/melonjs.mjs/physics/quadtree.js +2 -2
- package/dist/melonjs.mjs/physics/response.js +2 -2
- package/dist/melonjs.mjs/physics/sat.js +2 -2
- package/dist/melonjs.mjs/physics/world.js +2 -2
- package/dist/melonjs.mjs/plugin/plugin.js +4 -4
- package/dist/melonjs.mjs/renderable/collectable.js +2 -2
- package/dist/melonjs.mjs/renderable/colorlayer.js +2 -2
- package/dist/melonjs.mjs/renderable/container.js +26 -20
- package/dist/melonjs.mjs/renderable/dragndrop.js +2 -2
- package/dist/melonjs.mjs/renderable/imagelayer.js +8 -2
- package/dist/melonjs.mjs/renderable/light2d.js +2 -2
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
- package/dist/melonjs.mjs/renderable/renderable.js +127 -106
- package/dist/melonjs.mjs/renderable/sprite.js +34 -55
- package/dist/melonjs.mjs/renderable/trigger.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +2 -2
- package/dist/melonjs.mjs/state/stage.js +2 -2
- package/dist/melonjs.mjs/state/state.js +3 -3
- package/dist/melonjs.mjs/system/device.js +2 -2
- package/dist/melonjs.mjs/system/dom.js +2 -2
- package/dist/melonjs.mjs/system/event.js +2 -2
- package/dist/melonjs.mjs/system/platform.js +2 -2
- package/dist/melonjs.mjs/system/pooling.js +9 -19
- package/dist/melonjs.mjs/system/save.js +2 -2
- package/dist/melonjs.mjs/system/timer.js +2 -2
- package/dist/melonjs.mjs/text/bitmaptext.js +67 -9
- package/dist/melonjs.mjs/text/bitmaptextdata.js +2 -2
- package/dist/melonjs.mjs/text/glyph.js +2 -2
- package/dist/melonjs.mjs/text/text.js +2 -2
- package/dist/melonjs.mjs/text/textmetrics.js +2 -2
- package/dist/melonjs.mjs/text/textstyle.js +2 -2
- package/dist/melonjs.mjs/tweens/easing.js +2 -2
- package/dist/melonjs.mjs/tweens/interpolation.js +2 -2
- package/dist/melonjs.mjs/tweens/tween.js +2 -2
- package/dist/melonjs.mjs/utils/agent.js +2 -2
- package/dist/melonjs.mjs/utils/array.js +2 -2
- package/dist/melonjs.mjs/utils/file.js +2 -2
- package/dist/melonjs.mjs/utils/function.js +2 -2
- package/dist/melonjs.mjs/utils/string.js +3 -3
- package/dist/melonjs.mjs/utils/utils.js +3 -5
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +2 -2
- package/dist/melonjs.mjs/video/renderer.js +2 -2
- package/dist/melonjs.mjs/video/texture/atlas.js +11 -10
- package/dist/melonjs.mjs/video/texture/cache.js +4 -4
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +2 -2
- package/dist/melonjs.mjs/video/utils/autodetect.js +2 -2
- package/dist/melonjs.mjs/video/video.js +17 -14
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +2 -2
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +235 -0
- package/{src/video/webgl → dist/melonjs.mjs/video/webgl/compositors}/webgl_compositor.js +28 -205
- package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/program.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/string.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +2 -2
- package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +3 -3
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +3 -3
- package/dist/melonjs.module.js +19807 -19896
- package/dist/types/application/application.d.ts +5 -1
- package/dist/types/application/resize.d.ts +1 -0
- package/dist/types/const.d.ts +21 -0
- package/dist/types/entity/entity.d.ts +2 -2
- package/dist/types/geometries/path2d.d.ts +5 -31
- package/dist/types/geometries/point.d.ts +2 -7
- package/dist/types/geometries/poly.d.ts +0 -1
- package/dist/types/index.d.ts +3 -2
- package/dist/types/lang/console.d.ts +7 -0
- package/dist/types/lang/deprecated.d.ts +0 -8
- package/dist/types/level/tiled/TMXGroup.d.ts +7 -28
- package/dist/types/level/tiled/TMXLayer.d.ts +25 -47
- package/dist/types/level/tiled/TMXObject.d.ts +20 -82
- package/dist/types/level/tiled/TMXTile.d.ts +11 -25
- package/dist/types/level/tiled/TMXTileMap.d.ts +18 -56
- package/dist/types/level/tiled/TMXTileset.d.ts +7 -21
- package/dist/types/level/tiled/TMXTilesetGroup.d.ts +3 -9
- package/dist/types/level/tiled/constants.d.ts +5 -0
- package/dist/types/level/tiled/renderer/TMXHexagonalRenderer.d.ts +2 -6
- package/dist/types/level/tiled/renderer/TMXIsometricRenderer.d.ts +2 -6
- package/dist/types/level/tiled/renderer/TMXRenderer.d.ts +6 -18
- package/dist/types/level/tiled/renderer/autodetect.d.ts +9 -0
- package/dist/types/loader/cache.d.ts +7 -0
- package/dist/types/loader/loader.d.ts +166 -181
- package/dist/types/loader/parser.d.ts +41 -0
- package/dist/types/loader/settings.d.ts +57 -0
- package/dist/types/particles/emitter.d.ts +4 -4
- package/dist/types/physics/bounds.d.ts +29 -84
- package/dist/types/renderable/container.d.ts +0 -11
- package/dist/types/renderable/renderable.d.ts +37 -31
- package/dist/types/renderable/sprite.d.ts +3 -3
- package/dist/types/state/state.d.ts +1 -1
- package/dist/types/system/pooling.d.ts +2 -2
- package/dist/types/video/renderer.d.ts +1 -1
- package/dist/types/video/video.d.ts +7 -6
- package/dist/types/video/webgl/compositors/compositor.d.ts +101 -0
- package/dist/types/video/webgl/compositors/webgl_compositor.d.ts +86 -0
- package/dist/types/video/webgl/webgl_compositor.d.ts +2 -3
- package/dist/types/video/webgl/webgl_renderer.d.ts +1 -1
- package/package.json +17 -16
- package/src/application/application.js +6 -19
- package/src/application/resize.js +2 -0
- package/src/audio/audio.js +3 -3
- package/src/const.js +23 -0
- package/src/entity/entity.js +42 -8
- package/src/geometries/ellipse.js +1 -2
- package/src/geometries/path2d.js +17 -41
- package/src/geometries/point.js +0 -5
- package/src/geometries/poly.js +1 -4
- package/src/geometries/rectangle.js +12 -8
- package/src/index.js +4 -2
- package/src/input/gamepad.js +9 -15
- package/src/input/pointerevent.js +1 -15
- package/src/lang/console.js +36 -0
- package/src/lang/deprecated.js +2 -37
- package/src/level/level.js +2 -2
- package/src/level/tiled/TMXGroup.js +0 -21
- package/src/level/tiled/TMXLayer.js +65 -62
- package/src/level/tiled/TMXObject.js +0 -62
- package/src/level/tiled/TMXTile.js +8 -24
- package/src/level/tiled/TMXTileMap.js +19 -81
- package/src/level/tiled/TMXTileset.js +4 -18
- package/src/level/tiled/TMXTilesetGroup.js +1 -9
- package/src/level/tiled/TMXUtils.js +38 -15
- package/src/level/tiled/constants.js +8 -0
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +5 -6
- package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -4
- package/src/level/tiled/renderer/TMXRenderer.js +0 -12
- package/src/level/tiled/renderer/autodetect.js +29 -0
- package/src/loader/cache.js +16 -0
- package/src/loader/loader.js +339 -709
- package/src/loader/loadingscreen.js +3 -3
- package/src/loader/parser.js +279 -0
- package/src/loader/settings.js +85 -0
- package/src/math/matrix2.js +6 -8
- package/src/math/matrix3.js +17 -20
- package/src/math/observable_vector2.js +2 -2
- package/src/math/observable_vector3.js +2 -3
- package/src/math/vector2.js +2 -2
- package/src/math/vector3.js +2 -3
- package/src/particles/emitter.js +2 -2
- package/src/physics/body.js +17 -13
- package/src/physics/bounds.js +17 -69
- package/src/physics/collision.js +1 -1
- package/src/renderable/container.js +24 -18
- package/src/renderable/imagelayer.js +6 -0
- package/src/renderable/renderable.js +125 -104
- package/src/renderable/sprite.js +32 -53
- package/src/state/state.js +1 -1
- package/src/system/pooling.js +7 -17
- package/src/text/bitmaptext.js +65 -7
- package/src/utils/string.js +1 -1
- package/src/utils/utils.js +1 -3
- package/src/video/texture/atlas.js +9 -8
- package/src/video/texture/cache.js +2 -2
- package/src/video/video.js +15 -12
- package/src/video/webgl/compositors/compositor.js +227 -0
- package/src/video/webgl/compositors/webgl_compositor.js +300 -0
- package/src/video/webgl/webgl_renderer.js +1 -1
- package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-end.js +0 -13
- package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-start.js +0 -13
- package/dist/melonjs.mjs/node_modules/core-js/internals/a-callable.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/an-object.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/array-includes.js +0 -45
- package/dist/melonjs.mjs/node_modules/core-js/internals/classof-raw.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/classof.js +0 -43
- package/dist/melonjs.mjs/node_modules/core-js/internals/copy-constructor-properties.js +0 -32
- package/dist/melonjs.mjs/node_modules/core-js/internals/create-non-enumerable-property.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/create-property-descriptor.js +0 -17
- package/dist/melonjs.mjs/node_modules/core-js/internals/define-built-in.js +0 -43
- package/dist/melonjs.mjs/node_modules/core-js/internals/define-global-property.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/descriptors.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/document-all.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/document-create-element.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/engine-user-agent.js +0 -14
- package/dist/melonjs.mjs/node_modules/core-js/internals/engine-v8-version.js +0 -39
- package/dist/melonjs.mjs/node_modules/core-js/internals/entry-unbind.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/enum-bug-keys.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/export.js +0 -72
- package/dist/melonjs.mjs/node_modules/core-js/internals/fails.js +0 -16
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-bind-native.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-call.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-name.js +0 -29
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-uncurry-this.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/get-built-in.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/get-method.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/global.js +0 -25
- package/dist/melonjs.mjs/node_modules/core-js/internals/has-own-property.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/hidden-keys.js +0 -10
- package/dist/melonjs.mjs/node_modules/core-js/internals/ie8-dom-define.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/indexed-object.js +0 -28
- package/dist/melonjs.mjs/node_modules/core-js/internals/inspect-source.js +0 -27
- package/dist/melonjs.mjs/node_modules/core-js/internals/internal-state.js +0 -88
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-callable.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-forced.js +0 -34
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-null-or-undefined.js +0 -14
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-object.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-symbol.js +0 -27
- package/dist/melonjs.mjs/node_modules/core-js/internals/length-of-array-like.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/make-built-in.js +0 -68
- package/dist/melonjs.mjs/node_modules/core-js/internals/math-trunc.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-define-property.js +0 -58
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +0 -41
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-names.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-symbols.js +0 -12
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-is-prototype-of.js +0 -14
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-keys-internal.js +0 -35
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-property-is-enumerable.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/ordinary-to-primitive.js +0 -28
- package/dist/melonjs.mjs/node_modules/core-js/internals/own-keys.js +0 -31
- package/dist/melonjs.mjs/node_modules/core-js/internals/require-object-coercible.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared-key.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared-store.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-end.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-forced.js +0 -28
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-start.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim.js +0 -45
- package/dist/melonjs.mjs/node_modules/core-js/internals/symbol-constructor-detection.js +0 -26
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-absolute-index.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-indexed-object.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-integer-or-infinity.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-length.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-object.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-primitive.js +0 -41
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-property-key.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-string-tag-support.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-string.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/try-to-string.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/uid.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/use-symbol-as-uid.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/v8-prototype-define-bug.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/weak-map-basic-detection.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/well-known-symbol.js +0 -41
- package/dist/melonjs.mjs/node_modules/core-js/internals/whitespaces.js +0 -12
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.global-this.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-end.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-left.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-right.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-start.js +0 -22
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.mjs.js +0 -9
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import Vector2d from "../../../math/vector2.js";
|
|
2
|
+
import GLShader from "../glshader.js";
|
|
3
|
+
import VertexArrayBuffer from "../buffer/vertex.js";
|
|
4
|
+
import { isPowerOfTwo } from "../../../math/math.js";
|
|
5
|
+
import primitiveVertex from "./../shaders/primitive.vert";
|
|
6
|
+
import primitiveFragment from "./../shaders/primitive.frag";
|
|
7
|
+
import quadVertex from "./../shaders/quad.vert";
|
|
8
|
+
import quadFragment from "./../shaders/quad.frag";
|
|
9
|
+
import Compositor from "./compositor.js";
|
|
10
|
+
|
|
11
|
+
// a pool of resuable vectors
|
|
12
|
+
var V_ARRAY = [
|
|
13
|
+
new Vector2d(),
|
|
14
|
+
new Vector2d(),
|
|
15
|
+
new Vector2d(),
|
|
16
|
+
new Vector2d()
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @classdesc
|
|
21
|
+
* A WebGL Compositor object. This class handles all of the WebGL state<br>
|
|
22
|
+
* Pushes texture regions or shape geometry into WebGL buffers, automatically flushes to GPU
|
|
23
|
+
* @augments Compositor
|
|
24
|
+
*/
|
|
25
|
+
export default class WebGLCompositor extends Compositor {
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Initialize the compositor
|
|
29
|
+
* @ignore
|
|
30
|
+
*/
|
|
31
|
+
init (renderer) {
|
|
32
|
+
super.init(renderer);
|
|
33
|
+
|
|
34
|
+
// list of active texture units
|
|
35
|
+
this.currentTextureUnit = -1;
|
|
36
|
+
this.boundTextures = [];
|
|
37
|
+
|
|
38
|
+
// Load and create shader programs
|
|
39
|
+
this.primitiveShader = new GLShader(this.gl, primitiveVertex, primitiveFragment);
|
|
40
|
+
this.quadShader = new GLShader(this.gl, quadVertex, quadFragment);
|
|
41
|
+
|
|
42
|
+
/// define all vertex attributes
|
|
43
|
+
this.addAttribute("aVertex", 2, this.gl.FLOAT, false, 0 * Float32Array.BYTES_PER_ELEMENT); // 0
|
|
44
|
+
this.addAttribute("aRegion", 2, this.gl.FLOAT, false, 2 * Float32Array.BYTES_PER_ELEMENT); // 1
|
|
45
|
+
this.addAttribute("aColor", 4, this.gl.UNSIGNED_BYTE, true, 4 * Float32Array.BYTES_PER_ELEMENT); // 2
|
|
46
|
+
|
|
47
|
+
this.vertexBuffer = new VertexArrayBuffer(this.vertexSize, 6); // 6 vertices per quad
|
|
48
|
+
|
|
49
|
+
// vertex buffer
|
|
50
|
+
this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.gl.createBuffer());
|
|
51
|
+
this.gl.bufferData(this.gl.ARRAY_BUFFER, this.vertexBuffer.buffer, this.gl.STREAM_DRAW);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Reset compositor internal state
|
|
56
|
+
* @ignore
|
|
57
|
+
*/
|
|
58
|
+
reset() {
|
|
59
|
+
super.reset();
|
|
60
|
+
|
|
61
|
+
// delete all related bound texture
|
|
62
|
+
for (var i = 0; i < this.renderer.maxTextures; i++) {
|
|
63
|
+
var texture2D = this.getTexture2D(i);
|
|
64
|
+
if (typeof texture2D !== "undefined") {
|
|
65
|
+
this.deleteTexture2D(texture2D);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
this.currentTextureUnit = -1;
|
|
69
|
+
|
|
70
|
+
// set the quad shader as the default program
|
|
71
|
+
this.useShader(this.quadShader);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Create a WebGL texture from an image
|
|
76
|
+
* @param {number} unit - Destination texture unit
|
|
77
|
+
* @param {Image|HTMLCanvasElement|ImageData|Uint8Array[]|Float32Array[]} image - Source image
|
|
78
|
+
* @param {number} filter - gl.LINEAR or gl.NEAREST
|
|
79
|
+
* @param {string} [repeat="no-repeat"] - Image repeat behavior (see {@link ImageLayer#repeat})
|
|
80
|
+
* @param {number} [w] - Source image width (Only use with UInt8Array[] or Float32Array[] source image)
|
|
81
|
+
* @param {number} [h] - Source image height (Only use with UInt8Array[] or Float32Array[] source image)
|
|
82
|
+
* @param {number} [b] - Source image border (Only use with UInt8Array[] or Float32Array[] source image)
|
|
83
|
+
* @param {boolean} [premultipliedAlpha=true] - Multiplies the alpha channel into the other color channels
|
|
84
|
+
* @param {boolean} [mipmap=true] - Whether mipmap levels should be generated for this texture
|
|
85
|
+
* @returns {WebGLTexture} a WebGL texture
|
|
86
|
+
*/
|
|
87
|
+
createTexture2D(unit, image, filter, repeat = "no-repeat", w, h, b, premultipliedAlpha = true, mipmap = true) {
|
|
88
|
+
var gl = this.gl;
|
|
89
|
+
var isPOT = isPowerOfTwo(w || image.width) && isPowerOfTwo(h || image.height);
|
|
90
|
+
var texture = gl.createTexture();
|
|
91
|
+
var rs = (repeat.search(/^repeat(-x)?$/) === 0) && (isPOT || this.renderer.WebGLVersion > 1) ? gl.REPEAT : gl.CLAMP_TO_EDGE;
|
|
92
|
+
var rt = (repeat.search(/^repeat(-y)?$/) === 0) && (isPOT || this.renderer.WebGLVersion > 1) ? gl.REPEAT : gl.CLAMP_TO_EDGE;
|
|
93
|
+
|
|
94
|
+
this.bindTexture2D(texture, unit);
|
|
95
|
+
|
|
96
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, rs);
|
|
97
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, rt);
|
|
98
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, filter);
|
|
99
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, filter);
|
|
100
|
+
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, premultipliedAlpha);
|
|
101
|
+
if (w || h || b) {
|
|
102
|
+
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, w, h, b, gl.RGBA, gl.UNSIGNED_BYTE, image);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// generate the sprite mimap (used when scaling) if a PowerOfTwo texture
|
|
109
|
+
if (isPOT && mipmap !== false) {
|
|
110
|
+
gl.generateMipmap(gl.TEXTURE_2D);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return texture;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* delete the given WebGL texture
|
|
118
|
+
* @param {WebGLTexture} [texture] - a WebGL texture to delete
|
|
119
|
+
* @param {number} [unit] - Texture unit to delete
|
|
120
|
+
*/
|
|
121
|
+
deleteTexture2D(texture) {
|
|
122
|
+
this.gl.deleteTexture(texture);
|
|
123
|
+
this.unbindTexture2D(texture);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* returns the WebGL texture associated to the given texture unit
|
|
128
|
+
* @param {number} unit - Texture unit to which a texture is bound
|
|
129
|
+
* @returns {WebGLTexture} texture a WebGL texture
|
|
130
|
+
*/
|
|
131
|
+
getTexture2D(unit) {
|
|
132
|
+
return this.boundTextures[unit];
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* assign the given WebGL texture to the current batch
|
|
137
|
+
* @param {WebGLTexture} texture - a WebGL texture
|
|
138
|
+
* @param {number} unit - Texture unit to which the given texture is bound
|
|
139
|
+
*/
|
|
140
|
+
bindTexture2D(texture, unit) {
|
|
141
|
+
var gl = this.gl;
|
|
142
|
+
|
|
143
|
+
if (texture !== this.boundTextures[unit]) {
|
|
144
|
+
this.flush();
|
|
145
|
+
if (this.currentTextureUnit !== unit) {
|
|
146
|
+
this.currentTextureUnit = unit;
|
|
147
|
+
gl.activeTexture(gl.TEXTURE0 + unit);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
gl.bindTexture(gl.TEXTURE_2D, texture);
|
|
151
|
+
this.boundTextures[unit] = texture;
|
|
152
|
+
|
|
153
|
+
} else if (this.currentTextureUnit !== unit) {
|
|
154
|
+
this.flush();
|
|
155
|
+
this.currentTextureUnit = unit;
|
|
156
|
+
gl.activeTexture(gl.TEXTURE0 + unit);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* unbind the given WebGL texture, forcing it to be reuploaded
|
|
162
|
+
* @param {WebGLTexture} [texture] - a WebGL texture
|
|
163
|
+
* @param {number} [unit] - a WebGL texture
|
|
164
|
+
* @returns {number} unit the unit number that was associated with the given texture
|
|
165
|
+
*/
|
|
166
|
+
unbindTexture2D(texture, unit) {
|
|
167
|
+
if (typeof unit === "undefined") {
|
|
168
|
+
unit = this.boundTextures.indexOf(texture);
|
|
169
|
+
}
|
|
170
|
+
if (unit !== -1) {
|
|
171
|
+
delete this.boundTextures[unit];
|
|
172
|
+
if (unit === this.currentTextureUnit) {
|
|
173
|
+
this.currentTextureUnit = -1;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return unit;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* @ignore
|
|
181
|
+
*/
|
|
182
|
+
uploadTexture(texture, w, h, b, force = false) {
|
|
183
|
+
var unit = this.renderer.cache.getUnit(texture);
|
|
184
|
+
var texture2D = this.boundTextures[unit];
|
|
185
|
+
|
|
186
|
+
if (typeof texture2D === "undefined" || force) {
|
|
187
|
+
this.createTexture2D(
|
|
188
|
+
unit,
|
|
189
|
+
texture.getTexture(),
|
|
190
|
+
this.renderer.settings.antiAlias ? this.gl.LINEAR : this.gl.NEAREST,
|
|
191
|
+
texture.repeat,
|
|
192
|
+
w,
|
|
193
|
+
h,
|
|
194
|
+
b,
|
|
195
|
+
texture.premultipliedAlpha
|
|
196
|
+
);
|
|
197
|
+
} else {
|
|
198
|
+
this.bindTexture2D(texture2D, unit);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
return this.currentTextureUnit;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Select the shader to use for compositing
|
|
207
|
+
* @see GLShader
|
|
208
|
+
* @param {GLShader} shader - a reference to a GLShader instance
|
|
209
|
+
*/
|
|
210
|
+
useShader(shader) {
|
|
211
|
+
if (this.activeShader !== shader) {
|
|
212
|
+
this.flush();
|
|
213
|
+
this.activeShader = shader;
|
|
214
|
+
this.activeShader.bind();
|
|
215
|
+
this.activeShader.setUniform("uProjectionMatrix", this.renderer.projectionMatrix);
|
|
216
|
+
this.activeShader.setVertexAttributes(this.gl, this.attributes, this.vertexByteSize);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Add a textured quad
|
|
222
|
+
* @param {TextureAtlas} texture - Source texture atlas
|
|
223
|
+
* @param {number} x - Destination x-coordinate
|
|
224
|
+
* @param {number} y - Destination y-coordinate
|
|
225
|
+
* @param {number} w - Destination width
|
|
226
|
+
* @param {number} h - Destination height
|
|
227
|
+
* @param {number} u0 - Texture UV (u0) value.
|
|
228
|
+
* @param {number} v0 - Texture UV (v0) value.
|
|
229
|
+
* @param {number} u1 - Texture UV (u1) value.
|
|
230
|
+
* @param {number} v1 - Texture UV (v1) value.
|
|
231
|
+
* @param {number} tint - tint color to be applied to the texture in UINT32 (argb) format
|
|
232
|
+
*/
|
|
233
|
+
addQuad(texture, x, y, w, h, u0, v0, u1, v1, tint) {
|
|
234
|
+
|
|
235
|
+
if (this.color.alpha < 1 / 255) {
|
|
236
|
+
// Fast path: don't send fully transparent quads
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
this.useShader(this.quadShader);
|
|
241
|
+
|
|
242
|
+
if (this.vertexBuffer.isFull(6)) {
|
|
243
|
+
// is the vertex buffer full if we add 6 more vertices
|
|
244
|
+
this.flush();
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// upload and activate the texture if necessary
|
|
248
|
+
var unit = this.uploadTexture(texture);
|
|
249
|
+
// set fragement sampler accordingly
|
|
250
|
+
this.quadShader.setUniform("uSampler", unit);
|
|
251
|
+
|
|
252
|
+
// Transform vertices
|
|
253
|
+
var m = this.viewMatrix,
|
|
254
|
+
vec0 = V_ARRAY[0].set(x, y),
|
|
255
|
+
vec1 = V_ARRAY[1].set(x + w, y),
|
|
256
|
+
vec2 = V_ARRAY[2].set(x, y + h),
|
|
257
|
+
vec3 = V_ARRAY[3].set(x + w, y + h);
|
|
258
|
+
|
|
259
|
+
if (!m.isIdentity()) {
|
|
260
|
+
m.apply(vec0);
|
|
261
|
+
m.apply(vec1);
|
|
262
|
+
m.apply(vec2);
|
|
263
|
+
m.apply(vec3);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
this.vertexBuffer.push(vec0.x, vec0.y, u0, v0, tint);
|
|
267
|
+
this.vertexBuffer.push(vec1.x, vec1.y, u1, v0, tint);
|
|
268
|
+
this.vertexBuffer.push(vec2.x, vec2.y, u0, v1, tint);
|
|
269
|
+
this.vertexBuffer.push(vec2.x, vec2.y, u0, v1, tint);
|
|
270
|
+
this.vertexBuffer.push(vec1.x, vec1.y, u1, v0, tint);
|
|
271
|
+
this.vertexBuffer.push(vec3.x, vec3.y, u1, v1, tint);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Draw an array of vertices
|
|
276
|
+
* @param {GLenum} mode - primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGLES)
|
|
277
|
+
* @param {Point[]} verts - an array of vertices
|
|
278
|
+
* @param {number} [vertexCount=verts.length] - amount of points defined in the points array
|
|
279
|
+
*/
|
|
280
|
+
drawVertices(mode, verts, vertexCount = verts.length) {
|
|
281
|
+
// use the primitive shader
|
|
282
|
+
this.useShader(this.primitiveShader);
|
|
283
|
+
// Set the line color
|
|
284
|
+
this.primitiveShader.setUniform("uColor", this.color);
|
|
285
|
+
|
|
286
|
+
var m = this.viewMatrix;
|
|
287
|
+
var vertex = this.vertexBuffer;
|
|
288
|
+
var m_isIdentity = m.isIdentity();
|
|
289
|
+
|
|
290
|
+
for (var i = 0; i < vertexCount; i++) {
|
|
291
|
+
if (!m_isIdentity) {
|
|
292
|
+
m.apply(verts[i]);
|
|
293
|
+
}
|
|
294
|
+
vertex.push(verts[i].x, verts[i].y);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// flush
|
|
298
|
+
this.flush(mode);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Color from "./../../math/color.js";
|
|
2
2
|
import Matrix2d from "./../../math/matrix2.js";
|
|
3
|
-
import WebGLCompositor from "./webgl_compositor.js";
|
|
3
|
+
import WebGLCompositor from "./compositors/webgl_compositor.js";
|
|
4
4
|
import Renderer from "./../renderer.js";
|
|
5
5
|
import TextureCache from "./../texture/cache.js";
|
|
6
6
|
import { TextureAtlas, createAtlas } from "./../texture/atlas.js";
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import '../../modules/es.string.trim-end.js';
|
|
9
|
-
import entryUnbind$1 from '../../internals/entry-unbind.js';
|
|
10
|
-
|
|
11
|
-
var entryUnbind = entryUnbind$1;
|
|
12
|
-
|
|
13
|
-
entryUnbind('String', 'trimRight');
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import '../../modules/es.string.trim-start.js';
|
|
9
|
-
import entryUnbind$1 from '../../internals/entry-unbind.js';
|
|
10
|
-
|
|
11
|
-
var entryUnbind = entryUnbind$1;
|
|
12
|
-
|
|
13
|
-
entryUnbind('String', 'trimLeft');
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import isCallable$1 from './is-callable.js';
|
|
9
|
-
import tryToString$1 from './try-to-string.js';
|
|
10
|
-
|
|
11
|
-
var isCallable = isCallable$1;
|
|
12
|
-
var tryToString = tryToString$1;
|
|
13
|
-
|
|
14
|
-
var $TypeError = TypeError;
|
|
15
|
-
|
|
16
|
-
// `Assert: IsCallable(argument) is true`
|
|
17
|
-
var aCallable = function (argument) {
|
|
18
|
-
if (isCallable(argument)) return argument;
|
|
19
|
-
throw $TypeError(tryToString(argument) + ' is not a function');
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export { aCallable as default };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import isObject$1 from './is-object.js';
|
|
9
|
-
|
|
10
|
-
var isObject = isObject$1;
|
|
11
|
-
|
|
12
|
-
var $String = String;
|
|
13
|
-
var $TypeError = TypeError;
|
|
14
|
-
|
|
15
|
-
// `Assert: Type(argument) is Object`
|
|
16
|
-
var anObject = function (argument) {
|
|
17
|
-
if (isObject(argument)) return argument;
|
|
18
|
-
throw $TypeError($String(argument) + ' is not an object');
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export { anObject as default };
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import toIndexedObject$1 from './to-indexed-object.js';
|
|
9
|
-
import toAbsoluteIndex$1 from './to-absolute-index.js';
|
|
10
|
-
import lengthOfArrayLike$1 from './length-of-array-like.js';
|
|
11
|
-
|
|
12
|
-
var toIndexedObject = toIndexedObject$1;
|
|
13
|
-
var toAbsoluteIndex = toAbsoluteIndex$1;
|
|
14
|
-
var lengthOfArrayLike = lengthOfArrayLike$1;
|
|
15
|
-
|
|
16
|
-
// `Array.prototype.{ indexOf, includes }` methods implementation
|
|
17
|
-
var createMethod = function (IS_INCLUDES) {
|
|
18
|
-
return function ($this, el, fromIndex) {
|
|
19
|
-
var O = toIndexedObject($this);
|
|
20
|
-
var length = lengthOfArrayLike(O);
|
|
21
|
-
var index = toAbsoluteIndex(fromIndex, length);
|
|
22
|
-
var value;
|
|
23
|
-
// Array#includes uses SameValueZero equality algorithm
|
|
24
|
-
// eslint-disable-next-line no-self-compare -- NaN check
|
|
25
|
-
if (IS_INCLUDES && el != el) while (length > index) {
|
|
26
|
-
value = O[index++];
|
|
27
|
-
// eslint-disable-next-line no-self-compare -- NaN check
|
|
28
|
-
if (value != value) return true;
|
|
29
|
-
// Array#indexOf ignores holes, Array#includes - not
|
|
30
|
-
} else for (;length > index; index++) {
|
|
31
|
-
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
|
|
32
|
-
} return !IS_INCLUDES && -1;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
var arrayIncludes = {
|
|
37
|
-
// `Array.prototype.includes` method
|
|
38
|
-
// https://tc39.es/ecma262/#sec-array.prototype.includes
|
|
39
|
-
includes: createMethod(true),
|
|
40
|
-
// `Array.prototype.indexOf` method
|
|
41
|
-
// https://tc39.es/ecma262/#sec-array.prototype.indexof
|
|
42
|
-
indexOf: createMethod(false)
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export { arrayIncludes as default };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import functionUncurryThis from './function-uncurry-this.js';
|
|
9
|
-
|
|
10
|
-
var uncurryThis = functionUncurryThis;
|
|
11
|
-
|
|
12
|
-
var toString = uncurryThis({}.toString);
|
|
13
|
-
var stringSlice = uncurryThis(''.slice);
|
|
14
|
-
|
|
15
|
-
var classofRaw = function (it) {
|
|
16
|
-
return stringSlice(toString(it), 8, -1);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export { classofRaw as default };
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import toStringTagSupport from './to-string-tag-support.js';
|
|
9
|
-
import isCallable$1 from './is-callable.js';
|
|
10
|
-
import classofRaw$1 from './classof-raw.js';
|
|
11
|
-
import wellKnownSymbol$1 from './well-known-symbol.js';
|
|
12
|
-
|
|
13
|
-
var TO_STRING_TAG_SUPPORT = toStringTagSupport;
|
|
14
|
-
var isCallable = isCallable$1;
|
|
15
|
-
var classofRaw = classofRaw$1;
|
|
16
|
-
var wellKnownSymbol = wellKnownSymbol$1;
|
|
17
|
-
|
|
18
|
-
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
19
|
-
var $Object = Object;
|
|
20
|
-
|
|
21
|
-
// ES3 wrong here
|
|
22
|
-
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
|
|
23
|
-
|
|
24
|
-
// fallback for IE11 Script Access Denied error
|
|
25
|
-
var tryGet = function (it, key) {
|
|
26
|
-
try {
|
|
27
|
-
return it[key];
|
|
28
|
-
} catch (error) { /* empty */ }
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
// getting tag from ES6+ `Object.prototype.toString`
|
|
32
|
-
var classof = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
|
|
33
|
-
var O, tag, result;
|
|
34
|
-
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
|
35
|
-
// @@toStringTag case
|
|
36
|
-
: typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
|
|
37
|
-
// builtinTag case
|
|
38
|
-
: CORRECT_ARGUMENTS ? classofRaw(O)
|
|
39
|
-
// ES3 arguments fallback
|
|
40
|
-
: (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export { classof as default };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import hasOwnProperty_1 from './has-own-property.js';
|
|
9
|
-
import ownKeys$1 from './own-keys.js';
|
|
10
|
-
import './object-get-own-property-descriptor.js';
|
|
11
|
-
import './object-define-property.js';
|
|
12
|
-
import { __exports as objectDefineProperty } from '../../../_virtual/object-define-property.js';
|
|
13
|
-
import { __exports as objectGetOwnPropertyDescriptor } from '../../../_virtual/object-get-own-property-descriptor.js';
|
|
14
|
-
|
|
15
|
-
var hasOwn = hasOwnProperty_1;
|
|
16
|
-
var ownKeys = ownKeys$1;
|
|
17
|
-
var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
|
|
18
|
-
var definePropertyModule = objectDefineProperty;
|
|
19
|
-
|
|
20
|
-
var copyConstructorProperties = function (target, source, exceptions) {
|
|
21
|
-
var keys = ownKeys(source);
|
|
22
|
-
var defineProperty = definePropertyModule.f;
|
|
23
|
-
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
|
24
|
-
for (var i = 0; i < keys.length; i++) {
|
|
25
|
-
var key = keys[i];
|
|
26
|
-
if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
|
|
27
|
-
defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export { copyConstructorProperties as default };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import descriptors from './descriptors.js';
|
|
9
|
-
import './object-define-property.js';
|
|
10
|
-
import createPropertyDescriptor$1 from './create-property-descriptor.js';
|
|
11
|
-
import { __exports as objectDefineProperty } from '../../../_virtual/object-define-property.js';
|
|
12
|
-
|
|
13
|
-
var DESCRIPTORS = descriptors;
|
|
14
|
-
var definePropertyModule = objectDefineProperty;
|
|
15
|
-
var createPropertyDescriptor = createPropertyDescriptor$1;
|
|
16
|
-
|
|
17
|
-
var createNonEnumerableProperty = DESCRIPTORS ? function (object, key, value) {
|
|
18
|
-
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
|
|
19
|
-
} : function (object, key, value) {
|
|
20
|
-
object[key] = value;
|
|
21
|
-
return object;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export { createNonEnumerableProperty as default };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
var createPropertyDescriptor = function (bitmap, value) {
|
|
9
|
-
return {
|
|
10
|
-
enumerable: !(bitmap & 1),
|
|
11
|
-
configurable: !(bitmap & 2),
|
|
12
|
-
writable: !(bitmap & 4),
|
|
13
|
-
value: value
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export { createPropertyDescriptor as default };
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import isCallable$1 from './is-callable.js';
|
|
9
|
-
import './object-define-property.js';
|
|
10
|
-
import './make-built-in.js';
|
|
11
|
-
import defineGlobalProperty$1 from './define-global-property.js';
|
|
12
|
-
import { __exports as objectDefineProperty } from '../../../_virtual/object-define-property.js';
|
|
13
|
-
import { m as makeBuiltIn$1 } from '../../../_virtual/make-built-in.js';
|
|
14
|
-
|
|
15
|
-
var isCallable = isCallable$1;
|
|
16
|
-
var definePropertyModule = objectDefineProperty;
|
|
17
|
-
var makeBuiltIn = makeBuiltIn$1.exports;
|
|
18
|
-
var defineGlobalProperty = defineGlobalProperty$1;
|
|
19
|
-
|
|
20
|
-
var defineBuiltIn = function (O, key, value, options) {
|
|
21
|
-
if (!options) options = {};
|
|
22
|
-
var simple = options.enumerable;
|
|
23
|
-
var name = options.name !== undefined ? options.name : key;
|
|
24
|
-
if (isCallable(value)) makeBuiltIn(value, name, options);
|
|
25
|
-
if (options.global) {
|
|
26
|
-
if (simple) O[key] = value;
|
|
27
|
-
else defineGlobalProperty(key, value);
|
|
28
|
-
} else {
|
|
29
|
-
try {
|
|
30
|
-
if (!options.unsafe) delete O[key];
|
|
31
|
-
else if (O[key]) simple = true;
|
|
32
|
-
} catch (error) { /* empty */ }
|
|
33
|
-
if (simple) O[key] = value;
|
|
34
|
-
else definePropertyModule.f(O, key, {
|
|
35
|
-
value: value,
|
|
36
|
-
enumerable: false,
|
|
37
|
-
configurable: !options.nonConfigurable,
|
|
38
|
-
writable: !options.nonWritable
|
|
39
|
-
});
|
|
40
|
-
} return O;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export { defineBuiltIn as default };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import global$1 from './global.js';
|
|
9
|
-
|
|
10
|
-
var global = global$1;
|
|
11
|
-
|
|
12
|
-
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
13
|
-
var defineProperty = Object.defineProperty;
|
|
14
|
-
|
|
15
|
-
var defineGlobalProperty = function (key, value) {
|
|
16
|
-
try {
|
|
17
|
-
defineProperty(global, key, { value: value, configurable: true, writable: true });
|
|
18
|
-
} catch (error) {
|
|
19
|
-
global[key] = value;
|
|
20
|
-
} return value;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export { defineGlobalProperty as default };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import fails$1 from './fails.js';
|
|
9
|
-
|
|
10
|
-
var fails = fails$1;
|
|
11
|
-
|
|
12
|
-
// Detect IE8's incomplete defineProperty implementation
|
|
13
|
-
var descriptors = !fails(function () {
|
|
14
|
-
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
15
|
-
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
export { descriptors as default };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v14.1.3
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
var documentAll = typeof document == 'object' && document.all;
|
|
9
|
-
|
|
10
|
-
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
|
|
11
|
-
var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;
|
|
12
|
-
|
|
13
|
-
var documentAll_1 = {
|
|
14
|
-
all: documentAll,
|
|
15
|
-
IS_HTMLDDA: IS_HTMLDDA
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export { documentAll_1 as default };
|