melonjs 15.1.6 → 15.2.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 +2 -2
- 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/application/application.js +3 -3
- 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 +1 -1
- package/dist/melonjs.mjs/camera/camera2d.js +1 -1
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/entity/entity.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/index.js +10 -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 +1 -1
- package/dist/melonjs.mjs/level/level.js +5 -4
- 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 +3 -3
- 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 +6 -8
- 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/parser.js +1 -1
- package/dist/melonjs.mjs/loader/settings.js +1 -1
- package/dist/melonjs.mjs/math/color.js +1 -1
- package/dist/melonjs.mjs/math/math.js +1 -1
- 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/particles/emitter.js +1 -1
- 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 +106 -108
- 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 +7 -6
- package/dist/melonjs.mjs/renderable/draggable.js +1 -1
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
- package/dist/melonjs.mjs/renderable/light2d.js +1 -1
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
- package/dist/melonjs.mjs/renderable/renderable.js +1 -1
- package/dist/melonjs.mjs/renderable/sprite.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 +1 -1
- package/dist/melonjs.mjs/state/state.js +1 -1
- package/dist/melonjs.mjs/system/device.js +1 -1
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +1 -1
- package/dist/melonjs.mjs/system/platform.js +1 -1
- package/dist/melonjs.mjs/system/pooling.js +1 -1
- package/dist/melonjs.mjs/system/save.js +1 -1
- package/dist/melonjs.mjs/system/timer.js +4 -4
- package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
- package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
- package/dist/melonjs.mjs/text/glyph.js +1 -1
- package/dist/melonjs.mjs/text/text.js +1 -1
- package/dist/melonjs.mjs/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/text/textstyle.js +1 -1
- 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 +105 -111
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -1
- package/dist/melonjs.mjs/video/renderer.js +1 -1
- 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/canvas_texture.js +1 -1
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +4 -4
- 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 +1 -1
- package/dist/melonjs.module.js +460 -449
- package/dist/types/index.d.ts +3 -3
- package/dist/types/plugin/plugin.d.ts +60 -5
- package/dist/types/utils/utils.d.ts +56 -17
- package/package.json +3 -3
- package/src/application/application.js +2 -2
- package/src/index.js +3 -2
- package/src/level/level.js +4 -3
- package/src/level/tiled/TMXTileMap.js +2 -2
- package/src/level/tiled/TMXUtils.js +4 -3
- package/src/plugin/plugin.js +103 -105
- package/src/renderable/container.js +6 -5
- package/src/system/timer.js +3 -3
- package/src/utils/utils.js +102 -111
- package/src/video/video.js +3 -3
package/README.md
CHANGED
|
@@ -97,7 +97,7 @@ Tools integration and usage with melonJS is documented in our [Wiki](https://git
|
|
|
97
97
|
|
|
98
98
|
You may find it useful to skim the overview found at the wiki [Details & Usage](https://github.com/melonjs/melonJS/wiki#details--usage)
|
|
99
99
|
|
|
100
|
-
When starting your own projects, checkout our [
|
|
100
|
+
When starting your own projects, checkout our [ES6 x Webpack boilerplate](https://github.com/melonjs/es6-boilerplate) or the [TypeScript x Vite boilerplate](https://github.com/melonjs/typescript-boilerplate)
|
|
101
101
|
|
|
102
102
|
Demos
|
|
103
103
|
-------------------------------------------------------------------------------
|
|
@@ -165,7 +165,7 @@ melonJS 2 now only provides an ES6 Bundle :
|
|
|
165
165
|
| `melonjs.mjs` | a tree-shakeable ES6 Module Directory |
|
|
166
166
|
| `types/index.d.ts` | typescript declaration files for the ES6 Module (ESM) Bundle |
|
|
167
167
|
|
|
168
|
-
>Note: if you need your application to be compatible with ES5, refer to our [boilerplate](
|
|
168
|
+
>Note: if you need your application to be compatible with ES5, refer to our [boilerplate](#using-melonjs) that provides automatic transpiling to ES5.
|
|
169
169
|
|
|
170
170
|
Alternatively, the latest version of melonJS can be installed through [NPM](https://www.npmjs.com/package/melonjs) :
|
|
171
171
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.2.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
|
|
@@ -9,7 +9,7 @@ import { autoDetectRenderer } from '../video/utils/autodetect.js';
|
|
|
9
9
|
import CanvasRenderer from '../video/canvas/canvas_renderer.js';
|
|
10
10
|
import { getElement, platform, enableSwipe } from '../system/device.js';
|
|
11
11
|
import { on, emit, GAME_AFTER_UPDATE, GAME_BEFORE_DRAW, GAME_AFTER_DRAW, WINDOW_ONRESIZE, WINDOW_ONORIENTATION_CHANGE, GAME_INIT, GAME_RESET, GAME_BEFORE_UPDATE, GAME_UPDATE } from '../system/event.js';
|
|
12
|
-
import
|
|
12
|
+
import { getUriFragment } from '../utils/utils.js';
|
|
13
13
|
import timer from '../system/timer.js';
|
|
14
14
|
import state from '../state/state.js';
|
|
15
15
|
import World from '../physics/world.js';
|
|
@@ -156,7 +156,7 @@ import { WEBGL, CANVAS, AUTO } from '../const.js';
|
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
// override renderer settings if &webgl or &canvas is defined in the URL
|
|
159
|
-
let uriFragment =
|
|
159
|
+
let uriFragment = getUriFragment();
|
|
160
160
|
if (uriFragment.webgl === true || uriFragment.webgl1 === true || uriFragment.webgl2 === true) {
|
|
161
161
|
this.settings.renderer = WEBGL;
|
|
162
162
|
if (uriFragment.webgl1 === true) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.2.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
|
|
@@ -80,10 +80,14 @@ import * as loader from './loader/loader.js';
|
|
|
80
80
|
export { loader };
|
|
81
81
|
import * as math from './math/math.js';
|
|
82
82
|
export { math as Math };
|
|
83
|
-
import
|
|
83
|
+
import { getUriFragment } from './utils/utils.js';
|
|
84
|
+
import * as utils from './utils/utils.js';
|
|
85
|
+
export { utils };
|
|
84
86
|
import * as input from './input/input.js';
|
|
85
87
|
export { input };
|
|
86
|
-
|
|
88
|
+
import * as plugin from './plugin/plugin.js';
|
|
89
|
+
export { plugin };
|
|
90
|
+
export { cache as plugins } from './plugin/plugin.js';
|
|
87
91
|
import * as video from './video/video.js';
|
|
88
92
|
export { video };
|
|
89
93
|
export { default as save } from './system/save.js';
|
|
@@ -106,7 +110,7 @@ import { initKeyboardEvent } from './input/keyboard.js';
|
|
|
106
110
|
* @name version
|
|
107
111
|
* @type {string}
|
|
108
112
|
*/
|
|
109
|
-
const version = "15.
|
|
113
|
+
const version = "15.2.0";
|
|
110
114
|
|
|
111
115
|
/**
|
|
112
116
|
* a flag indicating that melonJS is fully initialized
|
|
@@ -214,7 +218,7 @@ function boot() {
|
|
|
214
218
|
emit(BOOT);
|
|
215
219
|
|
|
216
220
|
// enable/disable the cache
|
|
217
|
-
setNocache(
|
|
221
|
+
setNocache( getUriFragment().nocache || false );
|
|
218
222
|
|
|
219
223
|
// automatically enable keyboard events
|
|
220
224
|
initKeyboardEvent();
|
|
@@ -230,4 +234,4 @@ onReady(() => {
|
|
|
230
234
|
}
|
|
231
235
|
});
|
|
232
236
|
|
|
233
|
-
export { Application, BitmapText, BitmapTextData, Bounds, CanvasTexture, Collectable, Color, ColorLayer, Ellipse, Entity, ImageLayer, Light2d, Line, Matrix2d, Matrix3d, NineSliceSprite, ObservableVector2d, ObservableVector3d, Particle, Point, Polygon, Rect, Renderable, RoundRect, Sprite, Text, Trigger, Tween, Vector2d, Vector3d, boot, game, initialized, pool, skipAutoInit,
|
|
237
|
+
export { Application, BitmapText, BitmapTextData, Bounds, CanvasTexture, Collectable, Color, ColorLayer, Ellipse, Entity, ImageLayer, Light2d, Line, Matrix2d, Matrix3d, NineSliceSprite, ObservableVector2d, ObservableVector3d, Particle, Point, Polygon, Rect, Renderable, RoundRect, Sprite, Text, Trigger, Tween, Vector2d, Vector3d, boot, game, initialized, pool, skipAutoInit, version };
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.2.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 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
|
-
import
|
|
8
|
+
import { resetGUID } from '../utils/utils.js';
|
|
9
|
+
import { defer } from '../utils/function.js';
|
|
9
10
|
import { emit, LEVEL_LOADED } from '../system/event.js';
|
|
10
11
|
import state from '../state/state.js';
|
|
11
12
|
import { getTMX } from '../loader/loader.js';
|
|
@@ -68,7 +69,7 @@ function loadTMXLevel(levelId, container, flatten, setViewportBounds) {
|
|
|
68
69
|
|
|
69
70
|
// reset the GUID generator
|
|
70
71
|
// and pass the level id as parameter
|
|
71
|
-
|
|
72
|
+
resetGUID(levelId, level.nextobjectid);
|
|
72
73
|
|
|
73
74
|
// Tiled use 0,0 anchor coordinates
|
|
74
75
|
container.anchorPoint.set(0, 0);
|
|
@@ -184,7 +185,7 @@ let level = {
|
|
|
184
185
|
// some silly side effects
|
|
185
186
|
state.stop();
|
|
186
187
|
|
|
187
|
-
|
|
188
|
+
defer(safeLoadLevel, this, levelId, options, true);
|
|
188
189
|
}
|
|
189
190
|
else {
|
|
190
191
|
safeLoadLevel(levelId, options);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.2.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
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import pool from '../../system/pooling.js';
|
|
9
9
|
import { off, on, VIEWPORT_ONRESIZE } from '../../system/event.js';
|
|
10
10
|
import { game } from '../../index.js';
|
|
11
|
-
import
|
|
11
|
+
import { checkVersion } from '../../utils/utils.js';
|
|
12
12
|
import collision from '../../physics/collision.js';
|
|
13
13
|
import Body from '../../physics/body.js';
|
|
14
14
|
import TMXTileset from './TMXTileset.js';
|
|
@@ -205,7 +205,7 @@ function readObjectGroup(map, data, z) {
|
|
|
205
205
|
// if version is undefined or empty it usually means the map was not created with Tiled
|
|
206
206
|
if (this.version !== "undefined" && this.version !== "") {
|
|
207
207
|
// deprecation warning if map tiled version is older than 1.5
|
|
208
|
-
if (
|
|
208
|
+
if (checkVersion(this.version, "1.5") < 0) {
|
|
209
209
|
warning("("+this.name+") Tiled Map format version 1.4 and below", "format 1.5 or higher", "10.4.4");
|
|
210
210
|
}
|
|
211
211
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.2.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 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
|
-
import
|
|
8
|
+
import { isBoolean, isNumeric } from '../../utils/string.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* set and interpret a TMX property value
|
|
@@ -32,11 +32,11 @@ function setTMXValue(name, type, value) {
|
|
|
32
32
|
|
|
33
33
|
default :
|
|
34
34
|
// try to parse it anyway
|
|
35
|
-
if (!value ||
|
|
35
|
+
if (!value || isBoolean(value)) {
|
|
36
36
|
// if value not defined or boolean
|
|
37
37
|
value = value ? (value === "true") : true;
|
|
38
38
|
}
|
|
39
|
-
else if (
|
|
39
|
+
else if (isNumeric(value)) {
|
|
40
40
|
// check if numeric
|
|
41
41
|
value = Number(value);
|
|
42
42
|
}
|
|
@@ -111,9 +111,7 @@ function parseAttributes(obj, elt) {
|
|
|
111
111
|
* @returns {Uint32Array} Decoded and decompress data
|
|
112
112
|
*/
|
|
113
113
|
function decompress(data, format) {
|
|
114
|
-
|
|
115
|
-
return utils.inflateb64(data, format);
|
|
116
|
-
} else {
|
|
114
|
+
{
|
|
117
115
|
throw new Error("GZIP/ZLIB compressed TMX Tile Map not supported!");
|
|
118
116
|
}
|
|
119
117
|
}
|
|
@@ -173,7 +171,7 @@ function decode(data, encoding, compression) {
|
|
|
173
171
|
|
|
174
172
|
case "base64":
|
|
175
173
|
if (compression !== "none") {
|
|
176
|
-
data = decompress(
|
|
174
|
+
data = decompress();
|
|
177
175
|
} else {
|
|
178
176
|
data = decodeBase64AsArray(data, 4);
|
|
179
177
|
}
|