melonjs 15.1.3 → 15.1.5
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/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 +3 -3
- package/dist/melonjs.mjs/camera/camera2d.js +1 -1
- package/dist/melonjs.mjs/const.js +2 -2
- package/dist/melonjs.mjs/entity/entity.js +3 -6
- 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 +5 -5
- package/dist/melonjs.mjs/geometries/point.js +1 -1
- package/dist/melonjs.mjs/geometries/poly.js +3 -3
- 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 +10 -10
- 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 +4 -4
- 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 +4 -4
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
- 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 +2 -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 +53 -67
- 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 +2 -2
- package/dist/melonjs.mjs/physics/collision.js +1 -1
- 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 +1 -1
- package/dist/melonjs.mjs/physics/sat.js +5 -4
- 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 +35 -25
- 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 +6 -9
- 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 +7 -4
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +8 -2
- 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 +1 -1
- package/dist/melonjs.mjs/text/bitmaptext.js +3 -3
- 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 +2 -2
- 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 +1 -1
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +3 -6
- 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 +2 -2
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +10 -3
- 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 +150 -152
- package/dist/types/audio/audio.d.ts +2 -2
- package/dist/types/const.d.ts +2 -2
- package/dist/types/loader/loader.d.ts +54 -55
- package/dist/types/renderable/renderable.d.ts +1 -1
- package/dist/types/video/video.d.ts +1 -1
- package/package.json +8 -8
- package/src/audio/audio.js +2 -2
- package/src/const.js +1 -1
- package/src/entity/entity.js +2 -5
- package/src/geometries/path2d.js +4 -4
- package/src/geometries/poly.js +2 -2
- package/src/input/pointerevent.js +9 -9
- package/src/level/tiled/TMXLayer.js +3 -3
- package/src/level/tiled/TMXUtils.js +3 -3
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
- package/src/loader/loader.js +52 -66
- package/src/physics/bounds.js +1 -1
- package/src/physics/detector.js +1 -1
- package/src/physics/quadtree.js +1 -1
- package/src/physics/sat.js +3 -3
- package/src/renderable/container.js +34 -24
- package/src/renderable/renderable.js +5 -8
- package/src/renderable/ui/uibaseelement.js +6 -3
- package/src/renderable/ui/uispriteelement.js +7 -1
- package/src/text/bitmaptext.js +2 -2
- package/src/text/text.js +1 -1
- package/src/video/canvas/canvas_renderer.js +2 -5
- package/src/video/texture/canvas_texture.js +1 -1
- package/src/video/video.js +1 -1
|
@@ -35,7 +35,7 @@ export function hasAudio(): boolean;
|
|
|
35
35
|
* enable audio output <br>
|
|
36
36
|
* only useful if audio supported and previously disabled through
|
|
37
37
|
* @function audio.enable
|
|
38
|
-
* @see audio
|
|
38
|
+
* @see audio.disable
|
|
39
39
|
*/
|
|
40
40
|
export function enable(): void;
|
|
41
41
|
/**
|
|
@@ -159,7 +159,7 @@ export function playTrack(sound_name: string, volume?: number | undefined): numb
|
|
|
159
159
|
/**
|
|
160
160
|
* stop the current audio track
|
|
161
161
|
* @function audio.stopTrack
|
|
162
|
-
* @see audio
|
|
162
|
+
* @see audio.playTrack
|
|
163
163
|
* @example
|
|
164
164
|
* // play a awesome music
|
|
165
165
|
* me.audio.playTrack("awesome_music");
|
package/dist/types/const.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export const WEBGL: number;
|
|
|
15
15
|
/**
|
|
16
16
|
* constant to auto-select the renderer (Attempt WebGL first, with fallback to Canvas)
|
|
17
17
|
* @static
|
|
18
|
-
* @type
|
|
18
|
+
* @type {number}
|
|
19
19
|
* @see Application
|
|
20
20
|
*/
|
|
21
|
-
export const AUTO:
|
|
21
|
+
export const AUTO: number;
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @
|
|
2
|
+
* an asset definition to be used with the loader
|
|
3
|
+
* @typedef {object} loader.Asset
|
|
4
|
+
* @property {string} name - name of the asset
|
|
5
|
+
* @property {string} type - the type of the asset : "audio", binary", "image", "json", "js", "tmx", "tmj", "tsx", "tsj", "fontface"
|
|
6
|
+
* @property {string} [src] - path and/or file name of the resource (for audio assets only the path is required)
|
|
7
|
+
* @property {string} [data] - TMX data if not provided through a src url
|
|
8
|
+
* @property {boolean} [stream] - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
|
|
9
|
+
* @see loader.preload
|
|
10
|
+
* @see loader.load
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* set all the specified game assets to be preloaded.
|
|
4
14
|
* @memberof loader
|
|
5
|
-
* @
|
|
6
|
-
* @param {
|
|
7
|
-
* @param {string} res.name - internal name of the resource
|
|
8
|
-
* @param {string} res.type - "audio", binary", "image", "json","js", "tmx", "tsx", "fontface"
|
|
9
|
-
* @param {string} res.src - path and/or file name of the resource (for audio assets only the path is required)
|
|
10
|
-
* @param {boolean} [res.stream] - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
|
|
11
|
-
* @param {Function} [onload=loader.onload] - function to be called when all resources are loaded
|
|
15
|
+
* @param {loader.Asset[]} assets - list of assets to load
|
|
16
|
+
* @param {Function} [onloadcb=loader.onload] - function to be called when all resources are loaded
|
|
12
17
|
* @param {boolean} [switchToLoadState=true] - automatically switch to the loading screen
|
|
13
18
|
* @example
|
|
14
|
-
*
|
|
19
|
+
* game.assets = [
|
|
15
20
|
* // PNG tileset
|
|
16
21
|
* {name: "tileset-platformer", type: "image", src: "data/map/tileset.png"},
|
|
17
22
|
* // PNG packed texture
|
|
@@ -41,24 +46,13 @@
|
|
|
41
46
|
* ];
|
|
42
47
|
* ...
|
|
43
48
|
* // set all resources to be loaded
|
|
44
|
-
* me.loader.preload(game.
|
|
49
|
+
* me.loader.preload(game.assets, () => this.loaded());
|
|
45
50
|
*/
|
|
46
|
-
export function preload(
|
|
47
|
-
name: string;
|
|
48
|
-
type: string;
|
|
49
|
-
src: string;
|
|
50
|
-
stream?: boolean;
|
|
51
|
-
}, onloadcb: any, switchToLoadState?: boolean | undefined): void;
|
|
51
|
+
export function preload(assets: loader.Asset[], onloadcb?: Function | undefined, switchToLoadState?: boolean | undefined): void;
|
|
52
52
|
/**
|
|
53
|
-
* Load a single
|
|
54
|
-
* @name load
|
|
53
|
+
* Load a single asset (to be used if you need to load additional asset(s) during the game)
|
|
55
54
|
* @memberof loader
|
|
56
|
-
* @
|
|
57
|
-
* @param {object} res
|
|
58
|
-
* @param {string} res.name - internal name of the resource
|
|
59
|
-
* @param {string} res.type - "audio", binary", "image", "json", "tmx", "tsx"
|
|
60
|
-
* @param {string} res.src - path and/or file name of the resource (for audio assets only the path is required)
|
|
61
|
-
* @param {boolean} [res.stream] - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
|
|
55
|
+
* @param {loader.Asset} asset
|
|
62
56
|
* @param {Function} [onload] - function to be called when the resource is loaded
|
|
63
57
|
* @param {Function} [onerror] - function to be called in case of error
|
|
64
58
|
* @returns {number} the amount of corresponding resource to be preloaded
|
|
@@ -76,67 +70,45 @@ export function preload(res: {
|
|
|
76
70
|
* me.audio.play("bgmusic");
|
|
77
71
|
* });
|
|
78
72
|
*/
|
|
79
|
-
export function load(
|
|
80
|
-
name: string;
|
|
81
|
-
type: string;
|
|
82
|
-
src: string;
|
|
83
|
-
stream?: boolean | undefined;
|
|
84
|
-
}, onload?: Function | undefined, onerror?: Function | undefined): number;
|
|
73
|
+
export function load(asset: loader.Asset, onload?: Function | undefined, onerror?: Function | undefined): number;
|
|
85
74
|
/**
|
|
86
|
-
* unload specified
|
|
87
|
-
* @name unload
|
|
75
|
+
* unload the specified asset to free memory
|
|
88
76
|
* @memberof loader
|
|
89
|
-
* @
|
|
90
|
-
* @param {object} res
|
|
91
|
-
* @param {string} res.name - internal name of the resource
|
|
92
|
-
* @param {string} res.type - "audio", binary", "image", "json", "tmx", "tsx"
|
|
77
|
+
* @param {loader.Asset} asset
|
|
93
78
|
* @returns {boolean} true if unloaded
|
|
94
79
|
* @example me.loader.unload({name: "avatar", type:"image"});
|
|
95
80
|
*/
|
|
96
|
-
export function unload(
|
|
97
|
-
name: string;
|
|
98
|
-
type: string;
|
|
99
|
-
}): boolean;
|
|
81
|
+
export function unload(asset: loader.Asset): boolean;
|
|
100
82
|
/**
|
|
101
83
|
* unload all resources to free memory
|
|
102
|
-
* @name unloadAll
|
|
103
84
|
* @memberof loader
|
|
104
|
-
* @public
|
|
105
85
|
* @example me.loader.unloadAll();
|
|
106
86
|
*/
|
|
107
87
|
export function unloadAll(): void;
|
|
108
88
|
/**
|
|
109
89
|
* return the specified TMX/TSX object
|
|
110
|
-
* @name getTMX
|
|
111
90
|
* @memberof loader
|
|
112
|
-
* @public
|
|
113
91
|
* @param {string} elt - name of the tmx/tsx element ("map1");
|
|
114
92
|
* @returns {object} requested element or null if not found
|
|
115
93
|
*/
|
|
116
94
|
export function getTMX(elt: string): object;
|
|
117
95
|
/**
|
|
118
96
|
* return the specified Binary object
|
|
119
|
-
* @name getBinary
|
|
120
97
|
* @memberof loader
|
|
121
|
-
* @public
|
|
122
98
|
* @param {string} elt - name of the binary object ("ymTrack");
|
|
123
99
|
* @returns {object} requested element or null if not found
|
|
124
100
|
*/
|
|
125
101
|
export function getBinary(elt: string): object;
|
|
126
102
|
/**
|
|
127
103
|
* return the specified Image Object
|
|
128
|
-
* @name getImage
|
|
129
104
|
* @memberof loader
|
|
130
|
-
* @public
|
|
131
105
|
* @param {string} image - name of the Image element ("tileset-platformer");
|
|
132
106
|
* @returns {HTMLImageElement} requested element or null if not found
|
|
133
107
|
*/
|
|
134
108
|
export function getImage(image: string): HTMLImageElement;
|
|
135
109
|
/**
|
|
136
110
|
* return the specified JSON Object
|
|
137
|
-
* @name getJSON
|
|
138
111
|
* @memberof loader
|
|
139
|
-
* @public
|
|
140
112
|
* @param {string} elt - name of the json file to load
|
|
141
113
|
* @returns {object}
|
|
142
114
|
*/
|
|
@@ -144,23 +116,50 @@ export function getJSON(elt: string): object;
|
|
|
144
116
|
export * from "./settings.js";
|
|
145
117
|
/**
|
|
146
118
|
* onload callback
|
|
147
|
-
* @name onload
|
|
148
119
|
* @default undefined
|
|
149
120
|
* @memberof loader
|
|
121
|
+
* @type {function}
|
|
150
122
|
* @example
|
|
151
123
|
* // set a callback when everything is loaded
|
|
152
124
|
* me.loader.onload = this.loaded.bind(this);
|
|
153
125
|
*/
|
|
154
|
-
export let onload:
|
|
126
|
+
export let onload: Function;
|
|
155
127
|
/**
|
|
156
128
|
* onProgress callback<br>
|
|
157
129
|
* each time a resource is loaded, the loader will fire the specified function,
|
|
158
130
|
* giving the actual progress [0 ... 1], as argument, and an object describing the resource loaded
|
|
159
|
-
* @name onProgress
|
|
160
131
|
* @default undefined
|
|
161
132
|
* @memberof loader
|
|
133
|
+
* @type {function}
|
|
162
134
|
* @example
|
|
163
135
|
* // set a callback for progress notification
|
|
164
136
|
* me.loader.onProgress = this.updateProgress.bind(this);
|
|
165
137
|
*/
|
|
166
|
-
export let onProgress:
|
|
138
|
+
export let onProgress: Function;
|
|
139
|
+
export namespace loader {
|
|
140
|
+
/**
|
|
141
|
+
* an asset definition to be used with the loader
|
|
142
|
+
*/
|
|
143
|
+
type Asset = {
|
|
144
|
+
/**
|
|
145
|
+
* - name of the asset
|
|
146
|
+
*/
|
|
147
|
+
name: string;
|
|
148
|
+
/**
|
|
149
|
+
* - the type of the asset : "audio", binary", "image", "json", "js", "tmx", "tmj", "tsx", "tsj", "fontface"
|
|
150
|
+
*/
|
|
151
|
+
type: string;
|
|
152
|
+
/**
|
|
153
|
+
* - path and/or file name of the resource (for audio assets only the path is required)
|
|
154
|
+
*/
|
|
155
|
+
src?: string | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* - TMX data if not provided through a src url
|
|
158
|
+
*/
|
|
159
|
+
data?: string | undefined;
|
|
160
|
+
/**
|
|
161
|
+
* - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
|
|
162
|
+
*/
|
|
163
|
+
stream?: boolean | undefined;
|
|
164
|
+
};
|
|
165
|
+
}
|
|
@@ -205,7 +205,7 @@ export default class Renderable extends Rect {
|
|
|
205
205
|
};
|
|
206
206
|
_inViewport: boolean;
|
|
207
207
|
/**
|
|
208
|
-
* Whether the renderable object is floating, or contained in a floating container
|
|
208
|
+
* Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container
|
|
209
209
|
* @see Renderable#floating
|
|
210
210
|
* @type {boolean}
|
|
211
211
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "melonjs",
|
|
3
|
-
"version": "15.1.
|
|
3
|
+
"version": "15.1.5",
|
|
4
4
|
"description": "melonJS Game Engine",
|
|
5
5
|
"homepage": "http://www.melonjs.org/",
|
|
6
6
|
"type": "module",
|
|
@@ -55,11 +55,11 @@
|
|
|
55
55
|
"@teppeis/multimaps": "^3.0.0",
|
|
56
56
|
"core-js": "^3.30.1",
|
|
57
57
|
"earcut": "2.2.4",
|
|
58
|
-
"eventemitter3": "^5.0.
|
|
58
|
+
"eventemitter3": "^5.0.1",
|
|
59
59
|
"howler": "2.2.3"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@babel/eslint-parser": "^7.21.
|
|
62
|
+
"@babel/eslint-parser": "^7.21.8",
|
|
63
63
|
"@babel/plugin-syntax-import-assertions": "^7.20.0",
|
|
64
64
|
"@fastify/static": "^6.10.1",
|
|
65
65
|
"@melonjs/webdoc-theme": "^1.1.1",
|
|
@@ -68,18 +68,18 @@
|
|
|
68
68
|
"@rollup/plugin-node-resolve": "^15.0.2",
|
|
69
69
|
"@rollup/plugin-replace": "^5.0.2",
|
|
70
70
|
"@webdoc/cli": "^2.2.0",
|
|
71
|
-
"chromedriver": "^112.0.
|
|
71
|
+
"chromedriver": "^112.0.1",
|
|
72
72
|
"cross-env": "^7.0.3",
|
|
73
73
|
"del-cli": "^5.0.0",
|
|
74
74
|
"eslint": "^8.39.0",
|
|
75
|
-
"eslint-plugin-jsdoc": "^43.
|
|
75
|
+
"eslint-plugin-jsdoc": "^43.1.1",
|
|
76
76
|
"expect": "^29.5.0",
|
|
77
77
|
"expect-mocha-image-snapshot": "^3.0.13",
|
|
78
|
-
"fastify": "^4.
|
|
78
|
+
"fastify": "^4.17.0",
|
|
79
79
|
"mocha": "^10.2.0",
|
|
80
80
|
"npm-self-link": "^1.1.7",
|
|
81
|
-
"puppeteer": "^
|
|
82
|
-
"rollup": "^3.21.
|
|
81
|
+
"puppeteer": "^20.1.0",
|
|
82
|
+
"rollup": "^3.21.5",
|
|
83
83
|
"rollup-plugin-bundle-size": "^1.0.3",
|
|
84
84
|
"rollup-plugin-string": "^3.0.0",
|
|
85
85
|
"terser": "^5.17.1",
|
package/src/audio/audio.js
CHANGED
|
@@ -123,7 +123,7 @@ export function hasAudio() {
|
|
|
123
123
|
* enable audio output <br>
|
|
124
124
|
* only useful if audio supported and previously disabled through
|
|
125
125
|
* @function audio.enable
|
|
126
|
-
* @see audio
|
|
126
|
+
* @see audio.disable
|
|
127
127
|
*/
|
|
128
128
|
export function enable() {
|
|
129
129
|
unmuteAll();
|
|
@@ -375,7 +375,7 @@ export function playTrack(sound_name, volume) {
|
|
|
375
375
|
/**
|
|
376
376
|
* stop the current audio track
|
|
377
377
|
* @function audio.stopTrack
|
|
378
|
-
* @see audio
|
|
378
|
+
* @see audio.playTrack
|
|
379
379
|
* @example
|
|
380
380
|
* // play a awesome music
|
|
381
381
|
* me.audio.playTrack("awesome_music");
|
package/src/const.js
CHANGED
package/src/entity/entity.js
CHANGED
|
@@ -180,11 +180,8 @@ import Body from "./../physics/body.js";
|
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
if (absolute === true) {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
bounds.translate(this.ancestor.getAbsolutePosition());
|
|
186
|
-
}
|
|
187
|
-
|
|
183
|
+
var absPos = this.getAbsolutePosition();
|
|
184
|
+
bounds.centerOn(absPos.x + bounds.x + bounds.width / 2, absPos.y + bounds.y + bounds.height / 2);
|
|
188
185
|
}
|
|
189
186
|
|
|
190
187
|
return bounds;
|
package/src/geometries/path2d.js
CHANGED
|
@@ -235,10 +235,10 @@ import earcut from "earcut";
|
|
|
235
235
|
const cos_rotation = Math.cos(rotation);
|
|
236
236
|
const sin_rotation = Math.sin(rotation);
|
|
237
237
|
for (let j = 0; j < nr_of_interpolation_points; j++) {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
238
|
+
const _x1 = radiusX * Math.cos(angle);
|
|
239
|
+
const _y1 = radiusY * Math.sin(angle);
|
|
240
|
+
const _x2 = x + _x1 * cos_rotation - _y1 * sin_rotation;
|
|
241
|
+
const _y2 = y + _x1 * sin_rotation + _y1 * cos_rotation;
|
|
242
242
|
points.push(pool.pull("Point", _x2, _y2));
|
|
243
243
|
angle += direction * dangle;
|
|
244
244
|
}
|
package/src/geometries/poly.js
CHANGED
|
@@ -432,8 +432,8 @@ import pool from "./../system/pooling.js";
|
|
|
432
432
|
|
|
433
433
|
//http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
|
|
434
434
|
for (let i = 0, j = len - 1; i < len; j = i++) {
|
|
435
|
-
|
|
436
|
-
|
|
435
|
+
const iy = points[i].y + posy, ix = points[i].x + posx,
|
|
436
|
+
jy = points[j].y + posy, jx = points[j].x + posx;
|
|
437
437
|
if (((iy > _y) !== (jy > _y)) && (_x < (jx - ix) * (_y - iy) / (jy - iy) + ix)) {
|
|
438
438
|
intersects = !intersects;
|
|
439
439
|
}
|
|
@@ -210,7 +210,7 @@ function enablePointerEvent() {
|
|
|
210
210
|
*/
|
|
211
211
|
function findActiveEvent(activeEventList, eventTypes) {
|
|
212
212
|
for (let i = 0; i < eventTypes.length; i++) {
|
|
213
|
-
|
|
213
|
+
const event = activeEventList.indexOf(eventTypes[i]);
|
|
214
214
|
if (event !== -1) {
|
|
215
215
|
return eventTypes[i];
|
|
216
216
|
}
|
|
@@ -223,7 +223,7 @@ function findActiveEvent(activeEventList, eventTypes) {
|
|
|
223
223
|
function findAllActiveEvents(activeEventList, eventTypes) {
|
|
224
224
|
let events = [];
|
|
225
225
|
for (let i = 0; i < eventTypes.length; i++) {
|
|
226
|
-
|
|
226
|
+
const event = activeEventList.indexOf(eventTypes[i]);
|
|
227
227
|
if (event !== -1) {
|
|
228
228
|
events.push(eventTypes[i]);
|
|
229
229
|
}
|
|
@@ -293,10 +293,10 @@ function dispatchEvent(normalizedEvents) {
|
|
|
293
293
|
|
|
294
294
|
for (let c = candidates.length, candidate; c--, (candidate = candidates[c]);) {
|
|
295
295
|
if (eventHandlers.has(candidate) && (candidate.isKinematic !== true)) {
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
296
|
+
const handlers = eventHandlers.get(candidate);
|
|
297
|
+
const region = handlers.region;
|
|
298
|
+
const ancestor = region.ancestor;
|
|
299
|
+
const bounds = region.getBounds();
|
|
300
300
|
let eventInBounds = false;
|
|
301
301
|
|
|
302
302
|
if (region.isFloating === true) {
|
|
@@ -404,7 +404,7 @@ function normalizeEvent(originalEvent) {
|
|
|
404
404
|
if (device.touchEvent && originalEvent.changedTouches) {
|
|
405
405
|
// iOS/Android Touch event
|
|
406
406
|
for (let i = 0, l = originalEvent.changedTouches.length; i < l; i++) {
|
|
407
|
-
|
|
407
|
+
const touchEvent = originalEvent.changedTouches[i];
|
|
408
408
|
_pointer = T_POINTERS.pop();
|
|
409
409
|
_pointer.setEvent(
|
|
410
410
|
originalEvent,
|
|
@@ -682,7 +682,7 @@ export function registerPointerEvent(eventType, region, callback) {
|
|
|
682
682
|
// allocate array if not defined
|
|
683
683
|
let handlers = eventHandlers.get(region);
|
|
684
684
|
for (let i = 0; i < eventTypes.length; i++) {
|
|
685
|
-
eventType = eventTypes[i];
|
|
685
|
+
const eventType = eventTypes[i];
|
|
686
686
|
if (handlers.callbacks[eventType]) {
|
|
687
687
|
handlers.callbacks[eventType].push(callback);
|
|
688
688
|
} else {
|
|
@@ -715,7 +715,7 @@ export function releasePointerEvent(eventType, region, callback) {
|
|
|
715
715
|
let handlers = eventHandlers.get(region);
|
|
716
716
|
if (typeof (handlers) !== "undefined") {
|
|
717
717
|
for (let i = 0; i < eventTypes.length; i++) {
|
|
718
|
-
eventType = eventTypes[i];
|
|
718
|
+
const eventType = eventTypes[i];
|
|
719
719
|
if (handlers.callbacks[eventType]) {
|
|
720
720
|
if (typeof (callback) !== "undefined") {
|
|
721
721
|
remove(handlers.callbacks[eventType], callback);
|
|
@@ -42,7 +42,7 @@ function setLayerData(layer, bounds, data) {
|
|
|
42
42
|
for (let y = 0; y < height; y++) {
|
|
43
43
|
for (let x = 0; x < width; x++) {
|
|
44
44
|
// get the value of the gid
|
|
45
|
-
|
|
45
|
+
const gid = data[idx++];
|
|
46
46
|
// fill the array
|
|
47
47
|
if (gid !== 0) {
|
|
48
48
|
// add a new tile to the layer
|
|
@@ -61,7 +61,7 @@ function preRenderLayer(layer, renderer) {
|
|
|
61
61
|
for (let y = 0; y < layer.rows; y++) {
|
|
62
62
|
for (let x = 0; x < layer.cols; x++) {
|
|
63
63
|
// get the value of the gid
|
|
64
|
-
|
|
64
|
+
const tile = layer.layerData[x][y];
|
|
65
65
|
// draw the tile if defined
|
|
66
66
|
if (tile instanceof Tile) {
|
|
67
67
|
// add a new tile to the layer
|
|
@@ -128,7 +128,7 @@ function preRenderLayer(layer, renderer) {
|
|
|
128
128
|
"height" : 0
|
|
129
129
|
};
|
|
130
130
|
for (let i = 0; i < this.tilesets.length; i++) {
|
|
131
|
-
|
|
131
|
+
const tileset = this.tilesets.getTilesetByIndex(i);
|
|
132
132
|
this.maxTileSize.width = Math.max(this.maxTileSize.width, tileset.tilewidth);
|
|
133
133
|
this.maxTileSize.height = Math.max(this.maxTileSize.height, tileset.tileheight);
|
|
134
134
|
}
|
|
@@ -83,7 +83,7 @@ function parseAttributes(obj, elt) {
|
|
|
83
83
|
// do attributes
|
|
84
84
|
if (elt.attributes && elt.attributes.length > 0) {
|
|
85
85
|
for (let j = 0; j < elt.attributes.length; j++) {
|
|
86
|
-
|
|
86
|
+
const attribute = elt.attributes.item(j);
|
|
87
87
|
if (typeof(attribute.name) !== "undefined") {
|
|
88
88
|
// DOM4 (Attr no longer inherit from Node)
|
|
89
89
|
obj[attribute.name] = attribute.value;
|
|
@@ -282,8 +282,8 @@ export function normalize(obj, item) {
|
|
|
282
282
|
var points = parse(item).points.split(" "); // <= "Unexpected lexical declaration in case block" if using let
|
|
283
283
|
|
|
284
284
|
// And normalize them into an array of vectors
|
|
285
|
-
for (let i = 0
|
|
286
|
-
v = points[i].split(",");
|
|
285
|
+
for (let i = 0; i < points.length; i++) {
|
|
286
|
+
const v = points[i].split(",");
|
|
287
287
|
obj[nodeName].push({
|
|
288
288
|
"x" : +v[0],
|
|
289
289
|
"y" : +v[1]
|
|
@@ -284,7 +284,7 @@ const offsetsStaggerY = [
|
|
|
284
284
|
let nearest = 0;
|
|
285
285
|
let minDist = Number.MAX_VALUE;
|
|
286
286
|
for (let i = 0; i < 4; ++i) {
|
|
287
|
-
|
|
287
|
+
const dc = this.centers[i].sub(rel).length2();
|
|
288
288
|
if (dc < minDist) {
|
|
289
289
|
minDist = dc;
|
|
290
290
|
nearest = i;
|