melonjs 15.13.0 → 15.14.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/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 +1 -1
- 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/index.js +2 -2
- 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 +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 +55 -3
- 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/fontface.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/image.js +6 -1
- package/dist/melonjs.mjs/loader/parsers/json.js +6 -1
- package/dist/melonjs.mjs/loader/parsers/script.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/tmx.js +6 -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 +3 -3
- 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 +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/text/bitmaptext.js +3 -3
- 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 +1 -1
- 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 +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 +14 -2
- 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 +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 +1 -1
- 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 +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 +1 -1
- package/dist/melonjs.module.js +88 -6
- package/dist/types/loader/loader.d.ts +28 -0
- package/dist/types/system/event.d.ts +11 -0
- package/package.json +7 -7
- package/src/loader/loader.js +52 -0
- package/src/loader/parsers/image.js +5 -0
- package/src/loader/parsers/json.js +5 -0
- package/src/loader/parsers/tmx.js +5 -0
- package/src/renderable/text/bitmaptext.js +2 -2
- package/src/system/event.js +12 -0
package/README.md
CHANGED
|
@@ -100,7 +100,7 @@ Tools integration and usage with melonJS is documented in our [Wiki](https://git
|
|
|
100
100
|
|
|
101
101
|
You may find it useful to skim the overview found at the wiki [Details & Usage](https://github.com/melonjs/melonJS/wiki#details--usage)
|
|
102
102
|
|
|
103
|
-
When starting your own projects, checkout our [ES6 x
|
|
103
|
+
When starting your own projects, checkout our [ES6 x Vite boilerplate](https://github.com/melonjs/es6-boilerplate) or the [TypeScript x Vite boilerplate](https://github.com/melonjs/typescript-boilerplate)
|
|
104
104
|
|
|
105
105
|
Demos
|
|
106
106
|
-------------------------------------------------------------------------------
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.14.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
|
|
@@ -112,7 +112,7 @@ import { initKeyboardEvent } from './input/keyboard.js';
|
|
|
112
112
|
* @name version
|
|
113
113
|
* @type {string}
|
|
114
114
|
*/
|
|
115
|
-
const version = "15.
|
|
115
|
+
const version = "15.14.0";
|
|
116
116
|
|
|
117
117
|
/**
|
|
118
118
|
* a flag indicating that melonJS is fully initialized
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.14.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
8
|
import { getBasename } from '../utils/file.js';
|
|
9
|
-
import { emit, LOADER_COMPLETE, LOADER_PROGRESS } from '../system/event.js';
|
|
9
|
+
import { emit, LOADER_COMPLETE, LOADER_PROGRESS, LOADER_ERROR } from '../system/event.js';
|
|
10
10
|
import { unload as unload$1, unloadAll as unloadAll$1, load as load$1 } from '../audio/audio.js';
|
|
11
11
|
import state from '../state/state.js';
|
|
12
12
|
import { tmxList, jsonList, imgList, binList } from './cache.js';
|
|
@@ -44,6 +44,18 @@ let onload;
|
|
|
44
44
|
*/
|
|
45
45
|
let onProgress;
|
|
46
46
|
|
|
47
|
+
/**
|
|
48
|
+
* onError callback<br>
|
|
49
|
+
* each time a resource loading is failed, the loader will fire the specified function giving the actual asset as argument.
|
|
50
|
+
* @default undefined
|
|
51
|
+
* @memberof loader
|
|
52
|
+
* @type {function}
|
|
53
|
+
* @example
|
|
54
|
+
* // set a callback for error notification
|
|
55
|
+
* me.loader.onError = this.loaderError.bind(this);
|
|
56
|
+
*/
|
|
57
|
+
let onError;
|
|
58
|
+
|
|
47
59
|
/**
|
|
48
60
|
* list of parser function for supported format type
|
|
49
61
|
*/
|
|
@@ -59,6 +71,10 @@ let resourceCount = 0;
|
|
|
59
71
|
let loadCount = 0;
|
|
60
72
|
let timerId = 0;
|
|
61
73
|
|
|
74
|
+
/**
|
|
75
|
+
* Assets uploaded with an error
|
|
76
|
+
*/
|
|
77
|
+
const failureLoadedAssets = {};
|
|
62
78
|
|
|
63
79
|
/**
|
|
64
80
|
* init all supported parsers
|
|
@@ -110,6 +126,7 @@ function checkLoadStatus(onloadcb) {
|
|
|
110
126
|
* @ignore
|
|
111
127
|
*/
|
|
112
128
|
function onResourceLoaded(res) {
|
|
129
|
+
delete failureLoadedAssets[res.src];
|
|
113
130
|
// increment the loading counter
|
|
114
131
|
loadCount++;
|
|
115
132
|
|
|
@@ -120,9 +137,15 @@ function onResourceLoaded(res) {
|
|
|
120
137
|
|
|
121
138
|
/**
|
|
122
139
|
* on error callback for image loading
|
|
140
|
+
* @param {loader.Asset} asset - asset that loaded with failure
|
|
123
141
|
* @ignore
|
|
124
142
|
*/
|
|
125
143
|
function onLoadingError(res) {
|
|
144
|
+
failureLoadedAssets[res.src] = res;
|
|
145
|
+
if (this.onError) {
|
|
146
|
+
this.onError(res);
|
|
147
|
+
}
|
|
148
|
+
emit(LOADER_ERROR, res);
|
|
126
149
|
throw new Error("Failed loading resource " + res.src);
|
|
127
150
|
}
|
|
128
151
|
|
|
@@ -260,6 +283,35 @@ function preload(assets, onloadcb, switchToLoadState = true) {
|
|
|
260
283
|
checkLoadStatus(onload);
|
|
261
284
|
}
|
|
262
285
|
|
|
286
|
+
/**
|
|
287
|
+
* retry loading assets after a loading failure
|
|
288
|
+
* @memberof loader
|
|
289
|
+
* @param {string} src - src of asset to reload
|
|
290
|
+
* @example
|
|
291
|
+
* event.on(
|
|
292
|
+
* event.LOADER_ERROR,
|
|
293
|
+
* (res) => {
|
|
294
|
+
* // custom function
|
|
295
|
+
* showErrorNotification({
|
|
296
|
+
* text: `Error during loading content: ${res.name}`,
|
|
297
|
+
* done: loader.reload(res.src);
|
|
298
|
+
* })
|
|
299
|
+
* }
|
|
300
|
+
* );
|
|
301
|
+
**/
|
|
302
|
+
function reload(src) {
|
|
303
|
+
const assetToReload = failureLoadedAssets[src];
|
|
304
|
+
this.unload(assetToReload);
|
|
305
|
+
resourceCount -= 1;
|
|
306
|
+
resourceCount += this.load(
|
|
307
|
+
assetToReload,
|
|
308
|
+
this.onResourceLoaded.bind(this, assetToReload),
|
|
309
|
+
this.onLoadingError.bind(this, assetToReload)
|
|
310
|
+
);
|
|
311
|
+
// check load status
|
|
312
|
+
checkLoadStatus(this.onload);
|
|
313
|
+
}
|
|
314
|
+
|
|
263
315
|
/**
|
|
264
316
|
* Load a single asset (to be used if you need to load additional asset(s) during the game)
|
|
265
317
|
* @memberof loader
|
|
@@ -473,4 +525,4 @@ function getJSON(elt) {
|
|
|
473
525
|
return null;
|
|
474
526
|
}
|
|
475
527
|
|
|
476
|
-
export { baseURL, getBinary, getImage, getJSON, getTMX, load, onProgress, onload, preload, setParser, unload, unloadAll };
|
|
528
|
+
export { baseURL, getBinary, getImage, getJSON, getTMX, load, onError, onProgress, onload, preload, reload, setParser, unload, unloadAll };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.14.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
|
|
@@ -24,6 +24,11 @@ import { nocache } from '../settings.js';
|
|
|
24
24
|
* ]);
|
|
25
25
|
*/
|
|
26
26
|
function preloadImage(img, onload, onerror) {
|
|
27
|
+
if (typeof imgList[img.name] !== "undefined") {
|
|
28
|
+
// already loaded
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
27
32
|
// create new Image object and add to list
|
|
28
33
|
imgList[img.name] = new Image();
|
|
29
34
|
if (typeof onload === "function") {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.14.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
|
|
@@ -17,6 +17,11 @@ import { nocache, withCredentials } from '../settings.js';
|
|
|
17
17
|
* @ignore
|
|
18
18
|
*/
|
|
19
19
|
function preloadJSON(data, onload, onerror) {
|
|
20
|
+
if (typeof jsonList[data.name] !== "undefined") {
|
|
21
|
+
// already loaded
|
|
22
|
+
return 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
20
25
|
let xmlhttp = new XMLHttpRequest();
|
|
21
26
|
|
|
22
27
|
if (xmlhttp.overrideMimeType) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.14.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
|
|
@@ -21,6 +21,11 @@ import { nocache, withCredentials } from '../settings.js';
|
|
|
21
21
|
* @ignore
|
|
22
22
|
*/
|
|
23
23
|
function preloadTMX(tmxData, onload, onerror) {
|
|
24
|
+
if (typeof tmxList[tmxData.name] !== "undefined") {
|
|
25
|
+
// already loaded
|
|
26
|
+
return 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
24
29
|
/**
|
|
25
30
|
* @ignore
|
|
26
31
|
*/
|