melonjs 17.0.0 → 17.1.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 +1 -1
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
- package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
- package/dist/melonjs.mjs/_virtual/howler.js +1 -1
- package/dist/melonjs.mjs/_virtual/index.js +1 -1
- package/dist/melonjs.mjs/_virtual/re.js +1 -1
- package/dist/melonjs.mjs/application/application.js +1 -1
- package/dist/melonjs.mjs/application/header.js +1 -1
- package/dist/melonjs.mjs/application/resize.js +1 -1
- package/dist/melonjs.mjs/application/settings.js +1 -1
- package/dist/melonjs.mjs/audio/audio.js +116 -30
- package/dist/melonjs.mjs/camera/camera2d.js +1 -1
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
- package/dist/melonjs.mjs/geometries/line.js +1 -1
- package/dist/melonjs.mjs/geometries/path2d.js +1 -1
- package/dist/melonjs.mjs/geometries/point.js +1 -1
- package/dist/melonjs.mjs/geometries/poly.js +1 -1
- package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/geometries/toarccanvas.js +1 -1
- package/dist/melonjs.mjs/index.js +6 -6
- package/dist/melonjs.mjs/input/gamepad.js +1 -1
- package/dist/melonjs.mjs/input/input.js +1 -1
- package/dist/melonjs.mjs/input/keyboard.js +1 -1
- package/dist/melonjs.mjs/input/pointer.js +1 -1
- package/dist/melonjs.mjs/input/pointerevent.js +1 -1
- package/dist/melonjs.mjs/lang/console.js +1 -1
- package/dist/melonjs.mjs/lang/deprecated.js +24 -2
- package/dist/melonjs.mjs/level/level.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
- package/dist/melonjs.mjs/loader/cache.js +1 -1
- package/dist/melonjs.mjs/loader/loader.js +1 -1
- package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/binary.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js +58 -0
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js +13 -0
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js +13 -0
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js +13 -0
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js +13 -0
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js +136 -0
- package/dist/melonjs.mjs/loader/parsers/fetchdata.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/fontface.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/image.js +90 -43
- package/dist/melonjs.mjs/loader/parsers/json.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/script.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/tmx.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/video.js +1 -1
- package/dist/melonjs.mjs/math/color.js +1 -1
- package/dist/melonjs.mjs/math/math.js +24 -2
- package/dist/melonjs.mjs/math/matrix2.js +1 -1
- package/dist/melonjs.mjs/math/matrix3.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
- package/dist/melonjs.mjs/math/vector2.js +1 -1
- package/dist/melonjs.mjs/math/vector3.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/classes/comparator.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/classes/range.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/classes/semver.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/clean.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/cmp.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/coerce.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/compare-build.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/compare-loose.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/compare.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/diff.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/eq.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/gt.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/gte.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/inc.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/lt.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/lte.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/major.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/minor.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/neq.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/parse.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/patch.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/prerelease.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/rcompare.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/rsort.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/satisfies.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/sort.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/valid.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/internal/constants.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/internal/debug.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/internal/identifiers.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/internal/parse-options.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/internal/re.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/node_modules/lru-cache/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/node_modules/yallist/iterator.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/node_modules/yallist/yallist.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/gtr.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/intersects.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/ltr.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/max-satisfying.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/min-satisfying.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/min-version.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/outside.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/simplify.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/subset.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/to-comparators.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/valid.js +1 -1
- package/dist/melonjs.mjs/particles/emitter.js +2 -2
- package/dist/melonjs.mjs/particles/particle.js +1 -1
- package/dist/melonjs.mjs/particles/settings.js +1 -1
- package/dist/melonjs.mjs/physics/body.js +1 -1
- package/dist/melonjs.mjs/physics/bounds.js +1 -1
- package/dist/melonjs.mjs/physics/collision.js +1 -1
- package/dist/melonjs.mjs/physics/detector.js +1 -1
- package/dist/melonjs.mjs/physics/quadtree.js +1 -1
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +1 -1
- package/dist/melonjs.mjs/physics/world.js +1 -1
- package/dist/melonjs.mjs/plugin/plugin.js +4 -4
- package/dist/melonjs.mjs/renderable/collectable.js +1 -1
- package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
- package/dist/melonjs.mjs/renderable/container.js +1 -1
- package/dist/melonjs.mjs/renderable/draggable.js +1 -1
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/entity/entity.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
- package/dist/melonjs.mjs/renderable/light2d.js +2 -2
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
- package/dist/melonjs.mjs/renderable/renderable.js +19 -7
- package/dist/melonjs.mjs/renderable/sprite.js +1 -1
- package/dist/melonjs.mjs/renderable/text/bitmaptext.js +1 -1
- package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +1 -1
- package/dist/melonjs.mjs/renderable/text/glyph.js +1 -1
- package/dist/melonjs.mjs/renderable/text/text.js +2 -2
- package/dist/melonjs.mjs/renderable/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/renderable/text/textstyle.js +1 -1
- package/dist/melonjs.mjs/renderable/trigger.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
- package/dist/melonjs.mjs/state/stage.js +2 -2
- package/dist/melonjs.mjs/state/state.js +5 -5
- package/dist/melonjs.mjs/system/device.js +18 -13
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +2 -2
- package/dist/melonjs.mjs/system/platform.js +1 -1
- package/dist/melonjs.mjs/system/pooling.js +2 -2
- package/dist/melonjs.mjs/system/save.js +3 -3
- package/dist/melonjs.mjs/system/timer.js +4 -4
- package/dist/melonjs.mjs/tweens/easing.js +1 -1
- package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
- package/dist/melonjs.mjs/tweens/tween.js +1 -1
- package/dist/melonjs.mjs/utils/agent.js +1 -1
- package/dist/melonjs.mjs/utils/array.js +1 -1
- package/dist/melonjs.mjs/utils/file.js +1 -1
- package/dist/melonjs.mjs/utils/function.js +1 -1
- package/dist/melonjs.mjs/utils/string.js +1 -1
- package/dist/melonjs.mjs/utils/utils.js +1 -1
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -4
- package/dist/melonjs.mjs/video/renderer.js +17 -45
- package/dist/melonjs.mjs/video/{texture/canvas_texture.js → rendertarget/canvasrendertarget.js} +89 -22
- package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
- package/dist/melonjs.mjs/video/texture/cache.js +1 -1
- package/dist/melonjs.mjs/video/texture/parser/aseprite.js +1 -1
- package/dist/melonjs.mjs/video/texture/parser/spritesheet.js +1 -1
- package/dist/melonjs.mjs/video/texture/parser/texturepacker.js +1 -1
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +1 -1
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +53 -62
- package/dist/melonjs.module.js +1209 -796
- package/dist/types/audio/audio.d.ts +82 -28
- package/dist/types/index.d.ts +2 -2
- package/dist/types/lang/deprecated.d.ts +23 -0
- package/dist/types/level/tiled/TMXLayer.d.ts +1 -2
- package/dist/types/loader/parsers/compressed_textures/compressed_image.d.ts +1 -0
- package/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts +1 -0
- package/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts +1 -0
- package/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts +1 -0
- package/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts +1 -0
- package/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts +1 -0
- package/dist/types/math/math.d.ts +7 -0
- package/dist/types/particles/emitter.d.ts +30 -9
- package/dist/types/plugin/plugin.d.ts +1 -1
- package/dist/types/polyfill/console.d.ts +1 -0
- package/dist/types/polyfill/roundrect.d.ts +1 -0
- package/dist/types/renderable/collectable.d.ts +0 -2
- package/dist/types/renderable/container.d.ts +7 -1
- package/dist/types/renderable/entity/entity.d.ts +6 -0
- package/dist/types/renderable/renderable.d.ts +9 -0
- package/dist/types/renderable/text/bitmaptext.d.ts +6 -0
- package/dist/types/renderable/trigger.d.ts +0 -2
- package/dist/types/state/stage.d.ts +1 -1
- package/dist/types/state/state.d.ts +1 -1
- package/dist/types/system/event.d.ts +5 -5
- package/dist/types/system/pooling.d.ts +2 -2
- package/dist/types/video/canvas/canvas_renderer.d.ts +0 -1
- package/dist/types/video/renderer.d.ts +7 -0
- package/dist/types/video/{texture/canvas_texture.d.ts → rendertarget/canvasrendertarget.d.ts} +13 -12
- package/dist/types/video/utils/autodetect.d.ts +1 -3
- package/dist/types/video/video.d.ts +0 -1
- package/dist/types/video/webgl/webgl_renderer.d.ts +18 -16
- package/package.json +11 -11
- package/src/audio/audio.js +114 -28
- package/src/index.js +3 -3
- package/src/lang/deprecated.js +21 -0
- package/src/loader/parsers/compressed_textures/compressed_image.js +49 -0
- package/src/loader/parsers/compressed_textures/parseDDS.js +5 -0
- package/src/loader/parsers/compressed_textures/parseKTX.js +5 -0
- package/src/loader/parsers/compressed_textures/parseKTX2.js +5 -0
- package/src/loader/parsers/compressed_textures/parsePKM.js +5 -0
- package/src/loader/parsers/compressed_textures/parsePVR.js +127 -0
- package/src/loader/parsers/image.js +89 -42
- package/src/math/math.js +22 -0
- package/src/particles/emitter.js +1 -1
- package/src/plugin/plugin.js +1 -1
- package/src/renderable/container.js +1 -1
- package/src/renderable/light2d.js +1 -1
- package/src/renderable/renderable.js +19 -6
- package/src/renderable/text/text.js +1 -1
- package/src/state/stage.js +1 -1
- package/src/state/state.js +3 -3
- package/src/system/device.js +17 -12
- package/src/system/event.js +1 -1
- package/src/system/pooling.js +1 -1
- package/src/system/save.js +1 -1
- package/src/system/timer.js +2 -2
- package/src/video/canvas/canvas_renderer.js +0 -3
- package/src/video/renderer.js +15 -43
- package/src/video/{texture/canvas_texture.js → rendertarget/canvasrendertarget.js} +90 -21
- package/src/video/webgl/webgl_renderer.js +52 -61
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -37,9 +37,9 @@ class BasePlugin {
|
|
|
37
37
|
* define the minimum required version of melonJS<br>
|
|
38
38
|
* this can be overridden by the plugin
|
|
39
39
|
* @type {string}
|
|
40
|
-
* @default "17.
|
|
40
|
+
* @default "17.1.0"
|
|
41
41
|
*/
|
|
42
|
-
this.version = "17.
|
|
42
|
+
this.version = "17.1.0";
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
45
|
* a reference to the app/game that registered this plugin
|
|
@@ -112,7 +112,7 @@ function patch(proto, name, fn) {
|
|
|
112
112
|
* @memberof plugin
|
|
113
113
|
* @param {plugin.BasePlugin} plugin - Plugin object to instantiate and register
|
|
114
114
|
* @param {string} [name=plugin.constructor.name] - a unique name for this plugin
|
|
115
|
-
* @param {
|
|
115
|
+
* @param {...*} [args] - all extra parameters will be passed to the plugin constructor
|
|
116
116
|
* @example
|
|
117
117
|
* // register a new plugin
|
|
118
118
|
* me.plugin.register(TestPlugin, "testPlugin");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -108,7 +108,7 @@ class Light2d extends Renderable {
|
|
|
108
108
|
this.visibleArea = pool.pull("Ellipse", this.centerX, this.centerY, this.width, this.height);
|
|
109
109
|
|
|
110
110
|
/** @ignore */
|
|
111
|
-
this.texture = pool.pull("
|
|
111
|
+
this.texture = pool.pull("CanvasRenderTarget", this.width, this.height, { offscreenCanvas: false });
|
|
112
112
|
|
|
113
113
|
this.anchorPoint.set(0, 0);
|
|
114
114
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -10,6 +10,10 @@ import ObservableVector3d from '../math/observable_vector3.js';
|
|
|
10
10
|
import Rect from '../geometries/rectangle.js';
|
|
11
11
|
import pool from '../system/pooling.js';
|
|
12
12
|
import { clamp } from '../math/math.js';
|
|
13
|
+
import Body from '../physics/body.js';
|
|
14
|
+
import Bounds from '../physics/bounds.js';
|
|
15
|
+
import GLShader from '../video/webgl/glshader.js';
|
|
16
|
+
import Color from '../math/color.js';
|
|
13
17
|
import { releaseAllPointerEvents } from '../input/pointerevent.js';
|
|
14
18
|
|
|
15
19
|
/**
|
|
@@ -798,8 +802,10 @@ class Renderable extends Rect {
|
|
|
798
802
|
this._absPos = undefined;
|
|
799
803
|
}
|
|
800
804
|
|
|
801
|
-
|
|
802
|
-
|
|
805
|
+
if (this._bounds instanceof Bounds) {
|
|
806
|
+
pool.push(this._bounds);
|
|
807
|
+
this._bounds = undefined;
|
|
808
|
+
}
|
|
803
809
|
|
|
804
810
|
this.onVisibilityChange = undefined;
|
|
805
811
|
|
|
@@ -808,16 +814,22 @@ class Renderable extends Rect {
|
|
|
808
814
|
this.mask = undefined;
|
|
809
815
|
}
|
|
810
816
|
|
|
811
|
-
if (
|
|
817
|
+
if (this._tint instanceof Color) {
|
|
812
818
|
pool.push(this._tint);
|
|
813
819
|
this._tint = undefined;
|
|
814
820
|
}
|
|
815
821
|
|
|
822
|
+
// cannot import and reference a Container from a Renderable, since Container extends Renderable, creating a circular dependency
|
|
823
|
+
//if (this.ancestor instanceof Container || this.ancestor instanceof Entity) {
|
|
816
824
|
this.ancestor = undefined;
|
|
825
|
+
|
|
826
|
+
// cannot import and reference a Application from a Renderable, messsing up class order in the bundle
|
|
827
|
+
//if (this._parentApp instanceof Application) {
|
|
817
828
|
this._parentApp = undefined;
|
|
829
|
+
//}
|
|
818
830
|
|
|
819
|
-
// destroy the physic body if
|
|
820
|
-
if (
|
|
831
|
+
// destroy the physic body if a builtin body object
|
|
832
|
+
if (this.body instanceof Body) {
|
|
821
833
|
this.body.destroy.apply(this.body, arguments);
|
|
822
834
|
this.body = undefined;
|
|
823
835
|
}
|
|
@@ -829,7 +841,7 @@ class Renderable extends Rect {
|
|
|
829
841
|
this.onDestroyEvent.apply(this, arguments);
|
|
830
842
|
|
|
831
843
|
// destroy any shader object if not done by the user through onDestroyEvent()
|
|
832
|
-
if (
|
|
844
|
+
if (this.shader instanceof GLShader) {
|
|
833
845
|
this.shader.destroy();
|
|
834
846
|
this.shader = undefined;
|
|
835
847
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -183,7 +183,7 @@ class Text extends Renderable {
|
|
|
183
183
|
|
|
184
184
|
// the canvas Texture used to render this text
|
|
185
185
|
// XXX: offscreenCanvas is currently disabled for text rendering due to issue in WebGL mode
|
|
186
|
-
this.canvasTexture = pool.pull("
|
|
186
|
+
this.canvasTexture = pool.pull("CanvasRenderTarget", 2, 2, { offscreenCanvas: false });
|
|
187
187
|
|
|
188
188
|
// instance to text metrics functions
|
|
189
189
|
this.metrics = new TextMetrics(this);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -208,7 +208,7 @@ class Stage {
|
|
|
208
208
|
* this is typically where you will load a level, add renderables, etc...
|
|
209
209
|
* @name onResetEvent
|
|
210
210
|
* @memberof Stage
|
|
211
|
-
* @param {
|
|
211
|
+
* @param {...*} [args] - optional arguments passed when switching state
|
|
212
212
|
* @see state#change
|
|
213
213
|
*/
|
|
214
214
|
onResetEvent() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { pauseTrack, resumeTrack } from '../audio/audio.js';
|
|
9
9
|
import { defer } from '../utils/function.js';
|
|
10
|
-
import {
|
|
10
|
+
import { once, VIDEO_INIT, BOOT, emit, STATE_STOP, STATE_PAUSE, STATE_RESTART, STATE_RESUME, STATE_CHANGE, TICK } from '../system/event.js';
|
|
11
11
|
import { game } from '../index.js';
|
|
12
12
|
import Stage from './stage.js';
|
|
13
13
|
import DefaultLoadingScreen from '../loader/loadingscreen.js';
|
|
@@ -130,13 +130,13 @@ function _switchState(state) {
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
// initialize me.state on system boot
|
|
133
|
-
|
|
133
|
+
once(BOOT, () => {
|
|
134
134
|
// set the built-in loading stage
|
|
135
135
|
state.set(state.LOADING, new DefaultLoadingScreen());
|
|
136
136
|
// set and enable the default stage
|
|
137
137
|
state.set(state.DEFAULT, new Stage());
|
|
138
138
|
// enable by default as soon as the display is initialized
|
|
139
|
-
|
|
139
|
+
once(VIDEO_INIT, () => {
|
|
140
140
|
state.change(state.DEFAULT, true);
|
|
141
141
|
});
|
|
142
142
|
});
|
|
@@ -485,7 +485,7 @@ let state = {
|
|
|
485
485
|
* @public
|
|
486
486
|
* @param {number} state - State ID (see constants)
|
|
487
487
|
* @param {boolean} forceChange - if true the state will be changed immediately
|
|
488
|
-
* @param {
|
|
488
|
+
* @param {...*} [args] - extra arguments to be passed to the reset functions
|
|
489
489
|
* @example
|
|
490
490
|
* // The onResetEvent method on the play screen will receive two args:
|
|
491
491
|
* // "level_1" and the number 3
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -27,6 +27,9 @@ let domRect = {left: 0, top: 0, x: 0, y: 0, width: 0, height: 0, right: 0, botto
|
|
|
27
27
|
// a list of supported videoCodecs;
|
|
28
28
|
let videoCodecs;
|
|
29
29
|
|
|
30
|
+
// internal flag to avoid rechecking for support
|
|
31
|
+
let WebGLSupport = -1;
|
|
32
|
+
|
|
30
33
|
function disableSwipeFn(e) {
|
|
31
34
|
e.preventDefault();
|
|
32
35
|
if (typeof globalThis.scroll === "function") {
|
|
@@ -683,19 +686,21 @@ function getParentBounds(element) {
|
|
|
683
686
|
* @returns {boolean} true if WebGL is supported
|
|
684
687
|
*/
|
|
685
688
|
function isWebGLSupported(options) {
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
689
|
+
if (WebGLSupport === -1) {
|
|
690
|
+
let _supported = false;
|
|
691
|
+
try {
|
|
692
|
+
let canvas = globalThis.document.createElement("canvas");
|
|
693
|
+
let ctxOptions = {
|
|
694
|
+
stencil: true,
|
|
695
|
+
failIfMajorPerformanceCaveat: options.failIfMajorPerformanceCaveat
|
|
696
|
+
};
|
|
697
|
+
_supported = !! (globalThis.WebGLRenderingContext && (canvas.getContext("webgl", ctxOptions) || canvas.getContext("experimental-webgl", ctxOptions)));
|
|
698
|
+
WebGLSupport = _supported ? 1 : 0;
|
|
699
|
+
} catch (e) {
|
|
700
|
+
WebGLSupport = 0;
|
|
701
|
+
}
|
|
696
702
|
}
|
|
697
|
-
|
|
698
|
-
return _supported;
|
|
703
|
+
return WebGLSupport === 1;
|
|
699
704
|
}
|
|
700
705
|
|
|
701
706
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -550,7 +550,7 @@ const ONCONTEXT_RESTORED = "renderer.contextrestored";
|
|
|
550
550
|
* calls each of the listeners registered for a given event.
|
|
551
551
|
* @function event.emit
|
|
552
552
|
* @param {string|symbol} eventName - The event name.
|
|
553
|
-
* @param {
|
|
553
|
+
* @param {...*} [args] - arguments to be passed to all listeners
|
|
554
554
|
* @returns {boolean} true if the event had listeners, false otherwise.
|
|
555
555
|
* @example
|
|
556
556
|
* me.event.emit("event-name", a, b, c);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -58,7 +58,7 @@ class ObjectPool {
|
|
|
58
58
|
/**
|
|
59
59
|
* Pull a new instance of the requested object (if added into the object pool)
|
|
60
60
|
* @param {string} name - as used in {@link pool.register}
|
|
61
|
-
* @param {
|
|
61
|
+
* @param {...*} [args] - arguments to be passed when instantiating/reinitializing the object
|
|
62
62
|
* @returns {object} the instance of the requested object
|
|
63
63
|
* @example
|
|
64
64
|
* me.pool.register("bullet", BulletEntity, true);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
6
|
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { once, BOOT } from './event.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* allow to access and manage the device localStorage
|
|
@@ -61,7 +61,7 @@ function isReserved(key) {
|
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
// Initialize me.save on Boot event
|
|
64
|
-
|
|
64
|
+
once(BOOT, () => {
|
|
65
65
|
// Load previous data if local Storage is supported
|
|
66
66
|
if (hasLocalStorage === true) {
|
|
67
67
|
let me_save_content = globalThis.localStorage.getItem("me.save");
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
6
|
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { defer } from '../utils/function.js';
|
|
9
|
-
import { on, GAME_BEFORE_UPDATE, BOOT, STATE_RESUME, STATE_RESTART, STATE_CHANGE } from './event.js';
|
|
9
|
+
import { once, on, GAME_BEFORE_UPDATE, BOOT, STATE_RESUME, STATE_RESTART, STATE_CHANGE } from './event.js';
|
|
10
10
|
import state from '../state/state.js';
|
|
11
11
|
import { clamp } from '../math/math.js';
|
|
12
12
|
|
|
@@ -72,8 +72,8 @@ class Timer {
|
|
|
72
72
|
this.timers = [];
|
|
73
73
|
this.timerId = 0;
|
|
74
74
|
|
|
75
|
-
// Initialize
|
|
76
|
-
|
|
75
|
+
// Initialize timer on Boot event
|
|
76
|
+
once(BOOT, () => {
|
|
77
77
|
// reset variables to initial state
|
|
78
78
|
this.reset();
|
|
79
79
|
this.now = this.last = 0;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v17.
|
|
2
|
+
* melonJS Game Engine - v17.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -23,9 +23,6 @@ class CanvasRenderer extends Renderer {
|
|
|
23
23
|
// parent constructor
|
|
24
24
|
super(options);
|
|
25
25
|
|
|
26
|
-
// defined the 2d context
|
|
27
|
-
this.context = this.getContext2d(this.getCanvas(), this.settings.transparent);
|
|
28
|
-
|
|
29
26
|
this.setBlendMode(this.settings.blendMode);
|
|
30
27
|
|
|
31
28
|
// apply the default color to the 2d context
|