melonjs 15.14.0 → 16.0.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.
Files changed (187) hide show
  1. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +2 -2
  2. package/dist/melonjs.mjs/_virtual/earcut.js +2 -2
  3. package/dist/melonjs.mjs/_virtual/howler.js +2 -2
  4. package/dist/melonjs.mjs/_virtual/index.js +2 -2
  5. package/dist/melonjs.mjs/application/application.js +2 -2
  6. package/dist/melonjs.mjs/application/header.js +2 -2
  7. package/dist/melonjs.mjs/application/resize.js +2 -2
  8. package/dist/melonjs.mjs/application/settings.js +5 -3
  9. package/dist/melonjs.mjs/audio/audio.js +2 -2
  10. package/dist/melonjs.mjs/camera/camera2d.js +2 -2
  11. package/dist/melonjs.mjs/const.js +2 -2
  12. package/dist/melonjs.mjs/geometries/ellipse.js +6 -8
  13. package/dist/melonjs.mjs/geometries/line.js +2 -2
  14. package/dist/melonjs.mjs/geometries/path2d.js +131 -5
  15. package/dist/melonjs.mjs/geometries/point.js +7 -9
  16. package/dist/melonjs.mjs/geometries/poly.js +4 -14
  17. package/dist/melonjs.mjs/geometries/rectangle.js +2 -2
  18. package/dist/melonjs.mjs/geometries/roundrect.js +2 -2
  19. package/dist/melonjs.mjs/geometries/toarccanvas.js +103 -0
  20. package/dist/melonjs.mjs/index.js +3 -3
  21. package/dist/melonjs.mjs/input/gamepad.js +2 -2
  22. package/dist/melonjs.mjs/input/input.js +2 -2
  23. package/dist/melonjs.mjs/input/keyboard.js +2 -2
  24. package/dist/melonjs.mjs/input/pointer.js +2 -2
  25. package/dist/melonjs.mjs/input/pointerevent.js +2 -2
  26. package/dist/melonjs.mjs/lang/console.js +2 -2
  27. package/dist/melonjs.mjs/lang/deprecated.js +2 -2
  28. package/dist/melonjs.mjs/level/level.js +2 -2
  29. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +2 -2
  30. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +2 -2
  31. package/dist/melonjs.mjs/level/tiled/TMXObject.js +2 -2
  32. package/dist/melonjs.mjs/level/tiled/TMXTile.js +2 -2
  33. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +2 -2
  34. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +2 -2
  35. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +2 -2
  36. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +2 -2
  37. package/dist/melonjs.mjs/level/tiled/constants.js +2 -2
  38. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +2 -2
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
  43. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +2 -2
  44. package/dist/melonjs.mjs/loader/cache.js +2 -2
  45. package/dist/melonjs.mjs/loader/loader.js +2 -2
  46. package/dist/melonjs.mjs/loader/loadingscreen.js +4 -4
  47. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +3 -4
  48. package/dist/melonjs.mjs/loader/parsers/binary.js +15 -22
  49. package/dist/melonjs.mjs/loader/parsers/fetchdata.js +62 -0
  50. package/dist/melonjs.mjs/loader/parsers/fontface.js +2 -2
  51. package/dist/melonjs.mjs/loader/parsers/image.js +47 -11
  52. package/dist/melonjs.mjs/loader/parsers/json.js +14 -31
  53. package/dist/melonjs.mjs/loader/parsers/script.js +2 -2
  54. package/dist/melonjs.mjs/loader/parsers/tmx.js +48 -74
  55. package/dist/melonjs.mjs/loader/settings.js +2 -2
  56. package/dist/melonjs.mjs/math/color.js +2 -2
  57. package/dist/melonjs.mjs/math/math.js +13 -3
  58. package/dist/melonjs.mjs/math/matrix2.js +2 -2
  59. package/dist/melonjs.mjs/math/matrix3.js +2 -2
  60. package/dist/melonjs.mjs/math/observable_vector2.js +2 -2
  61. package/dist/melonjs.mjs/math/observable_vector3.js +2 -2
  62. package/dist/melonjs.mjs/math/vector2.js +7 -9
  63. package/dist/melonjs.mjs/math/vector3.js +6 -10
  64. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +2 -2
  65. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +2 -2
  66. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +2 -2
  67. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
  68. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +2 -2
  69. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +2 -2
  70. package/dist/melonjs.mjs/particles/emitter.js +2 -2
  71. package/dist/melonjs.mjs/particles/particle.js +2 -2
  72. package/dist/melonjs.mjs/particles/settings.js +3 -5
  73. package/dist/melonjs.mjs/physics/body.js +6 -8
  74. package/dist/melonjs.mjs/physics/bounds.js +2 -2
  75. package/dist/melonjs.mjs/physics/collision.js +3 -5
  76. package/dist/melonjs.mjs/physics/detector.js +2 -2
  77. package/dist/melonjs.mjs/physics/quadtree.js +2 -2
  78. package/dist/melonjs.mjs/physics/response.js +2 -2
  79. package/dist/melonjs.mjs/physics/sat.js +2 -2
  80. package/dist/melonjs.mjs/physics/world.js +2 -2
  81. package/dist/melonjs.mjs/plugin/plugin.js +5 -5
  82. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  83. package/dist/melonjs.mjs/renderable/colorlayer.js +2 -2
  84. package/dist/melonjs.mjs/renderable/container.js +2 -2
  85. package/dist/melonjs.mjs/renderable/draggable.js +2 -2
  86. package/dist/melonjs.mjs/renderable/dragndrop.js +2 -2
  87. package/dist/melonjs.mjs/renderable/entity/entity.js +2 -2
  88. package/dist/melonjs.mjs/renderable/imagelayer.js +13 -12
  89. package/dist/melonjs.mjs/renderable/light2d.js +2 -2
  90. package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
  91. package/dist/melonjs.mjs/renderable/renderable.js +20 -2
  92. package/dist/melonjs.mjs/renderable/sprite.js +2 -2
  93. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +2 -2
  94. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +2 -2
  95. package/dist/melonjs.mjs/renderable/text/glyph.js +2 -2
  96. package/dist/melonjs.mjs/renderable/text/text.js +2 -2
  97. package/dist/melonjs.mjs/renderable/text/textmetrics.js +2 -2
  98. package/dist/melonjs.mjs/renderable/text/textstyle.js +2 -2
  99. package/dist/melonjs.mjs/renderable/trigger.js +2 -2
  100. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +2 -2
  101. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +2 -2
  102. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +2 -2
  103. package/dist/melonjs.mjs/state/stage.js +2 -2
  104. package/dist/melonjs.mjs/state/state.js +3 -4
  105. package/dist/melonjs.mjs/system/device.js +2 -2
  106. package/dist/melonjs.mjs/system/dom.js +2 -2
  107. package/dist/melonjs.mjs/system/event.js +2 -2
  108. package/dist/melonjs.mjs/system/platform.js +2 -2
  109. package/dist/melonjs.mjs/system/pooling.js +3 -20
  110. package/dist/melonjs.mjs/system/save.js +2 -2
  111. package/dist/melonjs.mjs/system/timer.js +3 -19
  112. package/dist/melonjs.mjs/tweens/easing.js +2 -2
  113. package/dist/melonjs.mjs/tweens/interpolation.js +2 -2
  114. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  115. package/dist/melonjs.mjs/utils/agent.js +2 -2
  116. package/dist/melonjs.mjs/utils/array.js +2 -2
  117. package/dist/melonjs.mjs/utils/file.js +2 -2
  118. package/dist/melonjs.mjs/utils/function.js +2 -2
  119. package/dist/melonjs.mjs/utils/string.js +2 -2
  120. package/dist/melonjs.mjs/utils/utils.js +2 -2
  121. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +2 -2
  122. package/dist/melonjs.mjs/video/renderer.js +14 -17
  123. package/dist/melonjs.mjs/video/texture/atlas.js +28 -14
  124. package/dist/melonjs.mjs/video/texture/cache.js +3 -4
  125. package/dist/melonjs.mjs/video/texture/canvas_texture.js +16 -19
  126. package/dist/melonjs.mjs/video/utils/autodetect.js +2 -2
  127. package/dist/melonjs.mjs/video/video.js +2 -2
  128. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +2 -2
  129. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +2 -2
  130. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +2 -2
  131. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +5 -3
  132. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
  133. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +2 -2
  134. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
  135. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +2 -2
  136. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
  137. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
  138. package/dist/melonjs.mjs/video/webgl/utils/precision.js +2 -2
  139. package/dist/melonjs.mjs/video/webgl/utils/program.js +2 -2
  140. package/dist/melonjs.mjs/video/webgl/utils/string.js +2 -2
  141. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +2 -2
  142. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +2 -2
  143. package/dist/melonjs.module.js +1187 -325
  144. package/dist/types/application/application.d.ts +1 -1
  145. package/dist/types/application/settings.d.ts +5 -0
  146. package/dist/types/geometries/path2d.d.ts +24 -0
  147. package/dist/types/geometries/rectangle.d.ts +4 -4
  148. package/dist/types/geometries/roundrect.d.ts +1 -1
  149. package/dist/types/geometries/toarccanvas.d.ts +10 -0
  150. package/dist/types/loader/parsers/binary.d.ts +0 -8
  151. package/dist/types/loader/parsers/fetchdata.d.ts +15 -0
  152. package/dist/types/loader/parsers/tmx.d.ts +1 -0
  153. package/dist/types/math/color.d.ts +4 -4
  154. package/dist/types/math/math.d.ts +6 -0
  155. package/dist/types/math/observable_vector2.d.ts +2 -2
  156. package/dist/types/math/observable_vector3.d.ts +3 -3
  157. package/dist/types/physics/bounds.d.ts +4 -4
  158. package/dist/types/renderable/entity/entity.d.ts +1 -1
  159. package/dist/types/renderable/imagelayer.d.ts +2 -2
  160. package/dist/types/renderable/renderable.d.ts +9 -3
  161. package/dist/types/renderable/text/bitmaptext.d.ts +1 -1
  162. package/dist/types/video/renderer.d.ts +11 -23
  163. package/dist/types/video/texture/canvas_texture.d.ts +11 -23
  164. package/package.json +18 -17
  165. package/src/application/settings.js +3 -1
  166. package/src/geometries/ellipse.js +4 -6
  167. package/src/geometries/path2d.js +129 -4
  168. package/src/geometries/point.js +5 -7
  169. package/src/geometries/poly.js +2 -12
  170. package/src/geometries/toarccanvas.js +94 -0
  171. package/src/loader/parsers/binary.js +13 -56
  172. package/src/loader/parsers/fetchdata.js +53 -0
  173. package/src/loader/parsers/image.js +45 -12
  174. package/src/loader/parsers/json.js +12 -30
  175. package/src/loader/parsers/tmx.js +46 -72
  176. package/src/math/math.js +10 -0
  177. package/src/math/vector2.js +5 -7
  178. package/src/math/vector3.js +4 -8
  179. package/src/physics/body.js +4 -6
  180. package/src/plugin/plugin.js +1 -1
  181. package/src/polyfill/index.js +3 -0
  182. package/src/renderable/imagelayer.js +10 -9
  183. package/src/renderable/renderable.js +18 -0
  184. package/src/video/renderer.js +12 -15
  185. package/src/video/texture/atlas.js +26 -12
  186. package/src/video/texture/canvas_texture.js +14 -17
  187. package/src/video/webgl/compositors/quad_compositor.js +3 -1
@@ -1,22 +1,22 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { getExtension } from '../../utils/file.js';
9
- import { ua } from '../../system/platform.js';
10
9
  import level from '../../level/level.js';
11
10
  import { parse } from '../../level/tiled/TMXUtils.js';
12
11
  import { tmxList } from '../cache.js';
13
- import { nocache, withCredentials } from '../settings.js';
12
+ import { fetchData } from './fetchdata.js';
14
13
 
15
14
  /**
16
15
  * parse/preload a TMX file
17
16
  * @param {loader.Asset} data - asset data
18
17
  * @param {Function} [onload] - function to be called when the asset is loaded
19
18
  * @param {Function} [onerror] - function to be called in case of error
19
+ * @param {Function} [fetchData] - function to use instead of default window.fetch, has some error handling and things
20
20
  * @returns {number} the amount of corresponding resource parsed/preloaded
21
21
  * @ignore
22
22
  */
@@ -39,7 +39,6 @@ function preloadTMX(tmxData, onload, onerror) {
39
39
  }
40
40
  }
41
41
 
42
-
43
42
  //if the data is in the tmxData object, don't get it via a XMLHTTPRequest
44
43
  if (tmxData.data) {
45
44
  addToTMXList(tmxData.data);
@@ -49,85 +48,60 @@ function preloadTMX(tmxData, onload, onerror) {
49
48
  return;
50
49
  }
51
50
 
52
- let xmlhttp = new XMLHttpRequest();
53
- // check the data format ('tmx', 'json')
54
- let format = getExtension(tmxData.src);
55
-
56
- if (xmlhttp.overrideMimeType) {
57
- if (format === "json") {
58
- xmlhttp.overrideMimeType("application/json");
59
- }
60
- else {
61
- xmlhttp.overrideMimeType("text/xml");
62
- }
63
- }
51
+ fetchData(tmxData.src, "text")
52
+ .then(response => {
53
+ if (typeof response !== "string") {
54
+ throw new Error("Invalid response type");
55
+ }
64
56
 
65
- xmlhttp.open("GET", tmxData.src + nocache, true);
66
- xmlhttp.withCredentials = withCredentials;
67
- // set the callbacks
68
- xmlhttp.ontimeout = onerror;
69
- xmlhttp.onreadystatechange = function () {
70
- if (xmlhttp.readyState === 4) {
71
- // status = 0 when file protocol is used, or cross-domain origin,
72
- // (With Chrome use "--allow-file-access-from-files --disable-web-security")
73
- if ((xmlhttp.status === 200) || ((xmlhttp.status === 0) && xmlhttp.responseText)) {
74
- let result = null;
57
+ let result;
75
58
 
76
- // parse response
77
- switch (format) {
78
- case "xml":
79
- case "tmx":
80
- case "tsx": {
81
- // ie9 does not fully implement the responseXML
82
- if (ua.match(/msie/i) || !xmlhttp.responseXML) {
83
- if (globalThis.DOMParser) {
84
- // manually create the XML DOM
85
- result = (new DOMParser()).parseFromString(xmlhttp.responseText, "text/xml");
86
- } else {
87
- throw new Error("XML file format loading not supported, use the JSON file format instead");
88
- }
89
- }
90
- else {
91
- result = xmlhttp.responseXML;
92
- }
93
- // converts to a JS object
94
- const data = parse(result);
95
- switch (format) {
96
- case "tmx":
97
- result = data.map;
98
- break;
59
+ switch (getExtension(tmxData.src)) {
60
+ case "xml":
61
+ case "tmx":
62
+ case "tsx": {
63
+ const parser = new DOMParser();
99
64
 
100
- case "tsx":
101
- result = data.tilesets[0];
102
- break;
103
- }
104
- break;
65
+ if (typeof parser.parseFromString === "undefined") {
66
+ throw new Error(
67
+ "XML file format loading supported, use the JSON file format instead"
68
+ );
105
69
  }
106
- case "json":
107
- case "tmj":
108
- case "tsj":
109
- result = JSON.parse(xmlhttp.responseText);
110
- break;
111
70
 
112
- default:
113
- throw new Error("TMX file format " + format + " not supported !");
114
- }
71
+ const xmlDoc = parser.parseFromString(response, "text/xml");
72
+ const data = parse(xmlDoc);
115
73
 
116
- //set the TMX content
117
- addToTMXList(result);
74
+ switch (getExtension(tmxData.src)) {
75
+ case "tmx":
76
+ result = data.map;
77
+ break;
118
78
 
119
- // fire the callback
120
- if (typeof onload === "function") {
121
- onload();
79
+ case "tsx":
80
+ result = data.tilesets[0];
81
+ break;
82
+ }
83
+ break;
122
84
  }
85
+ case "json":
86
+ case "tmj":
87
+ case "tsj":
88
+ result = JSON.parse(response);
89
+ break;
90
+ default:
91
+ throw new Error(`TMX file format not supported: ${getExtension(tmxData.src)}`);
92
+ }
93
+
94
+ addToTMXList(result);
95
+
96
+ if (typeof onload === "function") {
97
+ onload();
123
98
  }
124
- else if (typeof onerror === "function") {
125
- onerror(tmxData.name);
99
+ })
100
+ .catch(error => {
101
+ if (typeof onerror === "function") {
102
+ onerror(error);
126
103
  }
127
- }
128
- };
129
- // send the request
130
- xmlhttp.send();
104
+ });
131
105
 
132
106
  return 1;
133
107
  }
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  // to enable/disable caching
9
9
  let nocache = "";
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { clamp, random } from './math.js';
9
9
  import pool from '../system/pooling.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  /**
9
9
  * a collection of math utility functions
@@ -215,4 +215,14 @@ function toBeCloseTo(expected, actual, precision = 2) {
215
215
  return Math.abs(expected - actual) < (Math.pow(10, -precision) / 2);
216
216
  }
217
217
 
218
- export { DEG_TO_RAD, EPSILON, ETA, RAD_TO_DEG, TAU, clamp, degToRad, isPowerOfTwo, nextPowerOfTwo, radToDeg, random, randomFloat, round, toBeCloseTo, weightedRandom };
218
+
219
+ /**
220
+ * Calculates the power of a number.
221
+ * @param {number} n - The number to be raised to the power of 2.
222
+ * @returns {number} The result of raising the number to the power of 2.
223
+ */
224
+ function pow(n) {
225
+ return Math.pow(n, 2);
226
+ }
227
+
228
+ export { DEG_TO_RAD, EPSILON, ETA, RAD_TO_DEG, TAU, clamp, degToRad, isPowerOfTwo, nextPowerOfTwo, pow, radToDeg, random, randomFloat, round, toBeCloseTo, weightedRandom };
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import pool from '../system/pooling.js';
9
9
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import pool from '../system/pooling.js';
9
9
  import { EPSILON } from './math.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import pool from '../system/pooling.js';
9
9
  import Vector2d from './vector2.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Vector3d from './vector3.js';
9
9
  import { clamp } from './math.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { clamp } from './math.js';
9
9
  import pool from '../system/pooling.js';
@@ -253,18 +253,16 @@ class Vector2d {
253
253
  * @param {number} [y]
254
254
  * @returns {boolean}
255
255
  */
256
- equals() {
256
+ equals(...args) {
257
257
  let _x, _y;
258
- if (arguments.length === 2) {
258
+ if (args.length === 2) {
259
259
  // x, y
260
- _x = arguments[0];
261
- _y = arguments[1];
260
+ [_x, _y] = args;
262
261
  } else {
263
262
  // vector
264
- _x = arguments[0].x;
265
- _y = arguments[0].y;
263
+ [_x, _y] = [args[0].x, args[0].y];
266
264
  }
267
- return ((this.x === _x) && (this.y === _y));
265
+ return this.x === _x && this.y === _y;
268
266
  }
269
267
 
270
268
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { clamp } from './math.js';
9
9
  import pool from '../system/pooling.js';
@@ -269,18 +269,14 @@ class Vector3d {
269
269
  * @param {number} [z]
270
270
  * @returns {boolean}
271
271
  */
272
- equals() {
272
+ equals(...args) {
273
273
  let _x, _y, _z;
274
- if (arguments.length >= 2) {
274
+ if (args.length >= 2) {
275
275
  // x, y, z
276
- _x = arguments[0];
277
- _y = arguments[1];
278
- _z = arguments[2];
276
+ [_x, _y, _z] = args;
279
277
  } else {
280
278
  // vector
281
- _x = arguments[0].x;
282
- _y = arguments[0].y;
283
- _z = arguments[0].z;
279
+ [_x, _y, _z] = [args[0].x, args[0].y, args[0].z];
284
280
  }
285
281
 
286
282
  if (typeof _z === "undefined") {
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { Multimap } from './multimap.js';
9
9
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  class Multimap {
9
9
  constructor(operator, iterable) {
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { getDefaultExportFromCjs } from '../../../_virtual/_commonjsHelpers.js';
9
9
  import { __module as earcut$2 } from '../../../_virtual/earcut.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { getDefaultExportFromCjs } from '../../_virtual/_commonjsHelpers.js';
9
9
  import { __module as eventemitter3 } from '../../_virtual/index.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import EventEmitter from './index.js';
9
9
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { commonjsGlobal } from '../../../_virtual/_commonjsHelpers.js';
9
9
  import { __exports as howler } from '../../../_virtual/howler.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import pool from '../system/pooling.js';
9
9
  import ParticleEmitterSettings from './settings.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import pool from '../system/pooling.js';
9
9
  import timer from '../system/timer.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  /**
9
9
  * ParticleEmitterSettings contains the default settings for ParticleEmitter
@@ -314,6 +314,4 @@ const ParticleEmitterSettings = {
314
314
  framesToSkip : 0
315
315
  };
316
316
 
317
- var ParticleEmitterSettings$1 = ParticleEmitterSettings;
318
-
319
- export { ParticleEmitterSettings$1 as default };
317
+ export { ParticleEmitterSettings as default };
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Rect from '../geometries/rectangle.js';
9
9
  import Ellipse from '../geometries/ellipse.js';
@@ -535,17 +535,15 @@ class Body {
535
535
  * // do something
536
536
  * }
537
537
  */
538
- contains() {
538
+ contains(...args) {
539
539
  let _x, _y;
540
540
 
541
- if (arguments.length === 2) {
541
+ if (args.length === 2) {
542
542
  // x, y
543
- _x = arguments[0];
544
- _y = arguments[1];
543
+ [_x, _y] = args;
545
544
  } else {
546
545
  // vector
547
- _x = arguments[0].x;
548
- _y = arguments[0].y;
546
+ [_x, _y] = [args[0].x, args[0].y];
549
547
  }
550
548
 
551
549
  if (this.getBounds().contains(_x, _y)) {
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import pool from '../system/pooling.js';
9
9
  import Vector2d from '../math/vector2.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { game } from '../index.js';
9
9
 
@@ -127,6 +127,4 @@ let collision = {
127
127
  rayCast(line, result) { return game.world.detector.rayCast(line, result); }
128
128
  };
129
129
 
130
- var collision$1 = collision;
131
-
132
- export { collision$1 as default };
130
+ export { collision as default };
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import * as sat from './sat.js';
9
9
  import ResponseObject from './response.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Vector2d from '../math/vector2.js';
9
9
  import { remove } from '../utils/array.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Vector2d from '../math/vector2.js';
9
9
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Vector2d from '../math/vector2.js';
9
9
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Vector2d from '../math/vector2.js';
9
9
  import { on, GAME_RESET, emit, LEVEL_LOADED, WORLD_STEP } from '../system/event.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { checkVersion } from '../utils/utils.js';
9
9
  import { game, version } from '../index.js';
@@ -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 "15.14.0"
40
+ * @default "16.0.0"
41
41
  */
42
- this.version = "15.14.0";
42
+ this.version = "16.0.0";
43
43
 
44
44
  /**
45
45
  * a reference to the app/game that registered this plugin
@@ -142,7 +142,7 @@ function register(plugin, name = plugin.toString().match(/ (\w+)/)[1]) {
142
142
  }
143
143
 
144
144
  // compatibility testing
145
- if (checkVersion(instance.version, version) > 0) {
145
+ if (checkVersion(instance.version, version) < 0) {
146
146
  throw new Error("Plugin version mismatch, expected: " + instance.version + ", got: " + version);
147
147
  }
148
148
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.14.0
2
+ * melonJS Game Engine - v16.0.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
- * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Sprite from './sprite.js';
9
9
  import Body from '../physics/body.js';