melonjs 15.0.0 → 15.1.1

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 (285) hide show
  1. package/README.md +4 -4
  2. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  5. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  6. package/dist/melonjs.mjs/_virtual/index.js +7 -3
  7. package/dist/melonjs.mjs/_virtual/index2.js +1 -1
  8. package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
  9. package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
  10. package/dist/melonjs.mjs/application/application.js +27 -17
  11. package/dist/melonjs.mjs/application/header.js +6 -5
  12. package/dist/melonjs.mjs/application/resize.js +20 -20
  13. package/dist/melonjs.mjs/application/settings.js +1 -1
  14. package/dist/melonjs.mjs/audio/audio.js +17 -17
  15. package/dist/melonjs.mjs/camera/camera2d.js +10 -10
  16. package/dist/melonjs.mjs/const.js +1 -1
  17. package/dist/melonjs.mjs/entity/entity.js +4 -4
  18. package/dist/melonjs.mjs/geometries/ellipse.js +6 -6
  19. package/dist/melonjs.mjs/geometries/line.js +9 -9
  20. package/dist/melonjs.mjs/geometries/path2d.js +53 -53
  21. package/dist/melonjs.mjs/geometries/point.js +2 -2
  22. package/dist/melonjs.mjs/geometries/poly.js +29 -29
  23. package/dist/melonjs.mjs/geometries/rectangle.js +8 -8
  24. package/dist/melonjs.mjs/geometries/roundrect.js +6 -6
  25. package/dist/melonjs.mjs/index.js +5 -5
  26. package/dist/melonjs.mjs/input/gamepad.js +30 -30
  27. package/dist/melonjs.mjs/input/input.js +2 -2
  28. package/dist/melonjs.mjs/input/keyboard.js +15 -15
  29. package/dist/melonjs.mjs/input/pointer.js +2 -2
  30. package/dist/melonjs.mjs/input/pointerevent.js +58 -58
  31. package/dist/melonjs.mjs/lang/console.js +3 -3
  32. package/dist/melonjs.mjs/lang/deprecated.js +2 -2
  33. package/dist/melonjs.mjs/level/level.js +9 -9
  34. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +3 -3
  35. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +31 -31
  36. package/dist/melonjs.mjs/level/tiled/TMXObject.js +8 -8
  37. package/dist/melonjs.mjs/level/tiled/TMXTile.js +8 -8
  38. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +19 -19
  39. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +15 -15
  40. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -3
  41. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +46 -41
  42. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +30 -30
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +21 -21
  45. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +10 -10
  46. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  47. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +6 -6
  48. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  49. package/dist/melonjs.mjs/loader/cache.js +1 -1
  50. package/dist/melonjs.mjs/loader/loader.js +7 -7
  51. package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
  52. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  53. package/dist/melonjs.mjs/loader/parser.js +13 -13
  54. package/dist/melonjs.mjs/loader/settings.js +3 -3
  55. package/dist/melonjs.mjs/math/color.js +21 -21
  56. package/dist/melonjs.mjs/math/math.js +2 -2
  57. package/dist/melonjs.mjs/math/matrix2.js +22 -22
  58. package/dist/melonjs.mjs/math/matrix3.js +52 -52
  59. package/dist/melonjs.mjs/math/observable_vector2.js +12 -12
  60. package/dist/melonjs.mjs/math/observable_vector3.js +22 -22
  61. package/dist/melonjs.mjs/math/vector2.js +11 -11
  62. package/dist/melonjs.mjs/math/vector3.js +21 -21
  63. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +45 -0
  64. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +130 -0
  65. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
  66. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
  67. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +1 -1
  68. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
  69. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  70. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
  71. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  72. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  73. package/dist/melonjs.mjs/particles/emitter.js +5 -5
  74. package/dist/melonjs.mjs/particles/particle.js +8 -8
  75. package/dist/melonjs.mjs/particles/settings.js +3 -3
  76. package/dist/melonjs.mjs/physics/body.js +17 -17
  77. package/dist/melonjs.mjs/physics/bounds.js +12 -12
  78. package/dist/melonjs.mjs/physics/collision.js +3 -3
  79. package/dist/melonjs.mjs/physics/detector.js +14 -14
  80. package/dist/melonjs.mjs/physics/quadtree.js +19 -19
  81. package/dist/melonjs.mjs/physics/response.js +1 -1
  82. package/dist/melonjs.mjs/physics/sat.js +60 -60
  83. package/dist/melonjs.mjs/physics/world.js +4 -4
  84. package/dist/melonjs.mjs/plugin/plugin.js +11 -11
  85. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  86. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  87. package/dist/melonjs.mjs/renderable/container.js +107 -63
  88. package/dist/melonjs.mjs/renderable/dragndrop.js +5 -5
  89. package/dist/melonjs.mjs/renderable/imagelayer.js +7 -6
  90. package/dist/melonjs.mjs/renderable/light2d.js +6 -6
  91. package/dist/melonjs.mjs/renderable/nineslicesprite.js +12 -12
  92. package/dist/melonjs.mjs/renderable/renderable.js +11 -11
  93. package/dist/melonjs.mjs/renderable/sprite.js +25 -25
  94. package/dist/melonjs.mjs/renderable/trigger.js +11 -9
  95. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +97 -27
  96. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +25 -25
  97. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +83 -63
  98. package/dist/melonjs.mjs/state/stage.js +7 -7
  99. package/dist/melonjs.mjs/state/state.js +15 -15
  100. package/dist/melonjs.mjs/system/device.js +2 -2
  101. package/dist/melonjs.mjs/system/dom.js +1 -1
  102. package/dist/melonjs.mjs/system/event.js +2 -2
  103. package/dist/melonjs.mjs/system/platform.js +1 -1
  104. package/dist/melonjs.mjs/system/pooling.js +9 -9
  105. package/dist/melonjs.mjs/system/save.js +6 -6
  106. package/dist/melonjs.mjs/system/timer.js +16 -12
  107. package/dist/melonjs.mjs/text/bitmaptext.js +20 -20
  108. package/dist/melonjs.mjs/text/bitmaptextdata.js +22 -22
  109. package/dist/melonjs.mjs/text/glyph.js +3 -3
  110. package/dist/melonjs.mjs/text/text.js +10 -9
  111. package/dist/melonjs.mjs/text/textmetrics.js +15 -15
  112. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  113. package/dist/melonjs.mjs/tweens/easing.js +4 -4
  114. package/dist/melonjs.mjs/tweens/interpolation.js +8 -8
  115. package/dist/melonjs.mjs/tweens/tween.js +11 -11
  116. package/dist/melonjs.mjs/utils/agent.js +6 -6
  117. package/dist/melonjs.mjs/utils/array.js +4 -4
  118. package/dist/melonjs.mjs/utils/file.js +1 -1
  119. package/dist/melonjs.mjs/utils/function.js +5 -5
  120. package/dist/melonjs.mjs/utils/string.js +3 -3
  121. package/dist/melonjs.mjs/utils/utils.js +16 -16
  122. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +35 -109
  123. package/dist/melonjs.mjs/video/renderer.js +74 -7
  124. package/dist/melonjs.mjs/video/texture/atlas.js +37 -37
  125. package/dist/melonjs.mjs/video/texture/cache.js +9 -10
  126. package/dist/melonjs.mjs/video/texture/canvas_texture.js +63 -3
  127. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  128. package/dist/melonjs.mjs/video/video.js +2 -2
  129. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
  130. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +5 -5
  131. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
  132. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +18 -15
  133. package/dist/melonjs.mjs/video/webgl/glshader.js +7 -7
  134. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  136. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  137. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  138. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
  139. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  140. package/dist/melonjs.mjs/video/webgl/utils/program.js +7 -7
  141. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  142. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +4 -4
  143. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +55 -38
  144. package/dist/melonjs.module.js +1777 -1813
  145. package/dist/types/application/application.d.ts +11 -8
  146. package/dist/types/audio/audio.d.ts +3 -3
  147. package/dist/types/index.d.ts +4 -3
  148. package/dist/types/input/input.d.ts +1 -1
  149. package/dist/types/input/keyboard.d.ts +1 -1
  150. package/dist/types/input/pointerevent.d.ts +6 -6
  151. package/dist/types/level/level.d.ts +2 -2
  152. package/dist/types/level/tiled/TMXLayer.d.ts +4 -4
  153. package/dist/types/level/tiled/TMXTileMap.d.ts +2 -2
  154. package/dist/types/level/tiled/TMXUtils.d.ts +5 -4
  155. package/dist/types/loader/loader.d.ts +2 -2
  156. package/dist/types/loader/settings.d.ts +2 -2
  157. package/dist/types/particles/emitter.d.ts +1 -1
  158. package/dist/types/physics/collision.d.ts +1 -1
  159. package/dist/types/physics/detector.d.ts +1 -1
  160. package/dist/types/plugin/plugin.d.ts +2 -2
  161. package/dist/types/renderable/container.d.ts +21 -17
  162. package/dist/types/renderable/sprite.d.ts +11 -11
  163. package/dist/types/renderable/trigger.d.ts +1 -1
  164. package/dist/types/renderable/ui/uibaseelement.d.ts +28 -6
  165. package/dist/types/renderable/ui/uispriteelement.d.ts +12 -14
  166. package/dist/types/renderable/ui/uitextbutton.d.ts +52 -11
  167. package/dist/types/state/stage.d.ts +1 -1
  168. package/dist/types/system/device.d.ts +1 -1
  169. package/dist/types/system/pooling.d.ts +3 -3
  170. package/dist/types/system/timer.d.ts +5 -5
  171. package/dist/types/text/bitmaptext.d.ts +1 -1
  172. package/dist/types/text/text.d.ts +1 -1
  173. package/dist/types/utils/array.d.ts +2 -2
  174. package/dist/types/video/canvas/canvas_renderer.d.ts +8 -76
  175. package/dist/types/video/renderer.d.ts +48 -0
  176. package/dist/types/video/texture/atlas.d.ts +3 -3
  177. package/dist/types/video/texture/canvas_texture.d.ts +40 -0
  178. package/dist/types/video/webgl/glshader.d.ts +1 -1
  179. package/dist/types/video/webgl/webgl_renderer.d.ts +13 -9
  180. package/package.json +14 -14
  181. package/src/application/application.js +26 -16
  182. package/src/application/header.js +5 -4
  183. package/src/application/resize.js +19 -19
  184. package/src/audio/audio.js +16 -16
  185. package/src/camera/camera2d.js +9 -9
  186. package/src/entity/entity.js +3 -3
  187. package/src/geometries/ellipse.js +5 -5
  188. package/src/geometries/line.js +8 -8
  189. package/src/geometries/path2d.js +52 -52
  190. package/src/geometries/point.js +1 -1
  191. package/src/geometries/poly.js +28 -28
  192. package/src/geometries/rectangle.js +7 -7
  193. package/src/geometries/roundrect.js +5 -5
  194. package/src/index.js +3 -2
  195. package/src/input/gamepad.js +29 -29
  196. package/src/input/input.js +1 -1
  197. package/src/input/keyboard.js +14 -14
  198. package/src/input/pointer.js +1 -1
  199. package/src/input/pointerevent.js +52 -52
  200. package/src/lang/console.js +2 -2
  201. package/src/lang/deprecated.js +1 -1
  202. package/src/level/level.js +8 -8
  203. package/src/level/tiled/TMXGroup.js +2 -2
  204. package/src/level/tiled/TMXLayer.js +30 -30
  205. package/src/level/tiled/TMXObject.js +7 -7
  206. package/src/level/tiled/TMXTile.js +7 -7
  207. package/src/level/tiled/TMXTileMap.js +18 -18
  208. package/src/level/tiled/TMXTileset.js +14 -14
  209. package/src/level/tiled/TMXTilesetGroup.js +2 -2
  210. package/src/level/tiled/TMXUtils.js +45 -40
  211. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +29 -29
  212. package/src/level/tiled/renderer/TMXIsometricRenderer.js +20 -20
  213. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +9 -9
  214. package/src/level/tiled/renderer/TMXRenderer.js +1 -1
  215. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +5 -5
  216. package/src/loader/loader.js +6 -6
  217. package/src/loader/loadingscreen.js +1 -1
  218. package/src/loader/parser.js +12 -12
  219. package/src/loader/settings.js +2 -2
  220. package/src/math/color.js +20 -20
  221. package/src/math/math.js +1 -1
  222. package/src/math/matrix2.js +21 -21
  223. package/src/math/matrix3.js +51 -51
  224. package/src/math/observable_vector2.js +11 -11
  225. package/src/math/observable_vector3.js +21 -21
  226. package/src/math/vector2.js +10 -10
  227. package/src/math/vector3.js +20 -20
  228. package/src/particles/emitter.js +4 -4
  229. package/src/particles/particle.js +7 -7
  230. package/src/particles/settings.js +2 -2
  231. package/src/physics/body.js +16 -16
  232. package/src/physics/bounds.js +11 -11
  233. package/src/physics/collision.js +2 -2
  234. package/src/physics/detector.js +13 -13
  235. package/src/physics/quadtree.js +18 -18
  236. package/src/physics/sat.js +59 -59
  237. package/src/physics/world.js +3 -3
  238. package/src/plugin/plugin.js +8 -8
  239. package/src/renderable/collectable.js +1 -1
  240. package/src/renderable/container.js +106 -62
  241. package/src/renderable/dragndrop.js +4 -4
  242. package/src/renderable/imagelayer.js +6 -5
  243. package/src/renderable/light2d.js +5 -5
  244. package/src/renderable/nineslicesprite.js +11 -11
  245. package/src/renderable/renderable.js +10 -10
  246. package/src/renderable/sprite.js +24 -24
  247. package/src/renderable/trigger.js +10 -8
  248. package/src/renderable/ui/uibaseelement.js +96 -26
  249. package/src/renderable/ui/uispriteelement.js +24 -24
  250. package/src/renderable/ui/uitextbutton.js +85 -65
  251. package/src/state/stage.js +6 -6
  252. package/src/state/state.js +14 -14
  253. package/src/system/device.js +1 -1
  254. package/src/system/event.js +1 -1
  255. package/src/system/pooling.js +8 -8
  256. package/src/system/save.js +5 -5
  257. package/src/system/timer.js +15 -11
  258. package/src/text/bitmaptext.js +19 -19
  259. package/src/text/bitmaptextdata.js +21 -21
  260. package/src/text/glyph.js +2 -2
  261. package/src/text/text.js +9 -8
  262. package/src/text/textmetrics.js +14 -14
  263. package/src/tweens/easing.js +3 -3
  264. package/src/tweens/interpolation.js +7 -7
  265. package/src/tweens/tween.js +10 -10
  266. package/src/utils/agent.js +5 -5
  267. package/src/utils/array.js +3 -3
  268. package/src/utils/function.js +4 -4
  269. package/src/utils/string.js +2 -2
  270. package/src/utils/utils.js +15 -15
  271. package/src/video/canvas/canvas_renderer.js +34 -108
  272. package/src/video/renderer.js +72 -5
  273. package/src/video/texture/atlas.js +36 -36
  274. package/src/video/texture/cache.js +6 -6
  275. package/src/video/texture/canvas_texture.js +62 -2
  276. package/src/video/video.js +1 -1
  277. package/src/video/webgl/buffer/vertex.js +2 -2
  278. package/src/video/webgl/compositors/compositor.js +4 -4
  279. package/src/video/webgl/compositors/primitive_compositor.js +4 -4
  280. package/src/video/webgl/compositors/quad_compositor.js +17 -14
  281. package/src/video/webgl/glshader.js +6 -6
  282. package/src/video/webgl/utils/attributes.js +1 -1
  283. package/src/video/webgl/utils/program.js +6 -6
  284. package/src/video/webgl/utils/uniforms.js +3 -3
  285. package/src/video/webgl/webgl_renderer.js +54 -37
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
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 { EPSILON } from './math.js';
112
112
  * @returns {Matrix3d} Reference to this object for method chaining
113
113
  */
114
114
  setTransform(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) {
115
- var a = this.val;
115
+ let a = this.val;
116
116
 
117
117
  a[0] = m00;
118
118
  a[1] = m01;
@@ -154,7 +154,7 @@ import { EPSILON } from './math.js';
154
154
  * @returns {Matrix2d} Reference to this object for method chaining
155
155
  */
156
156
  fromMat2d(m) {
157
- var b = m.val;
157
+ let b = m.val;
158
158
  return this.setTransform(
159
159
  b[0], b[3], b[6], 0,
160
160
  b[1], b[4], b[7], 0,
@@ -172,14 +172,14 @@ import { EPSILON } from './math.js';
172
172
  * @returns {Matrix3d} Reference to this object for method chaining
173
173
  */
174
174
  multiply(m) {
175
- var a = this.val;
176
- var b = m.val;
175
+ let a = this.val;
176
+ let b = m.val;
177
177
 
178
- var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3];
179
- var a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7];
180
- var a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11];
181
- var a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];
182
- var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3];
178
+ let a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3];
179
+ let a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7];
180
+ let a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11];
181
+ let a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];
182
+ let b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3];
183
183
 
184
184
  a[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
185
185
  a[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
@@ -226,7 +226,7 @@ import { EPSILON } from './math.js';
226
226
  * @returns {Matrix3d} Reference to this object for method chaining
227
227
  */
228
228
  transpose() {
229
- var a = this.val,
229
+ let a = this.val,
230
230
  a01 = a[1],
231
231
  a02 = a[2],
232
232
  a03 = a[3],
@@ -257,30 +257,30 @@ import { EPSILON } from './math.js';
257
257
  * @returns {Matrix3d} Reference to this object for method chaining
258
258
  */
259
259
  invert() {
260
- var a = this.val;
260
+ let a = this.val;
261
261
 
262
- var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3];
263
- var a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7];
264
- var a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11];
265
- var a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];
262
+ let a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3];
263
+ let a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7];
264
+ let a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11];
265
+ let a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];
266
266
 
267
- var b00 = a00 * a11 - a01 * a10;
268
- var b01 = a00 * a12 - a02 * a10;
269
- var b02 = a00 * a13 - a03 * a10;
270
- var b03 = a01 * a12 - a02 * a11;
267
+ let b00 = a00 * a11 - a01 * a10;
268
+ let b01 = a00 * a12 - a02 * a10;
269
+ let b02 = a00 * a13 - a03 * a10;
270
+ let b03 = a01 * a12 - a02 * a11;
271
271
 
272
- var b04 = a01 * a13 - a03 * a11;
273
- var b05 = a02 * a13 - a03 * a12;
274
- var b06 = a20 * a31 - a21 * a30;
275
- var b07 = a20 * a32 - a22 * a30;
272
+ let b04 = a01 * a13 - a03 * a11;
273
+ let b05 = a02 * a13 - a03 * a12;
274
+ let b06 = a20 * a31 - a21 * a30;
275
+ let b07 = a20 * a32 - a22 * a30;
276
276
 
277
- var b08 = a20 * a33 - a23 * a30;
278
- var b09 = a21 * a32 - a22 * a31;
279
- var b10 = a21 * a33 - a23 * a31;
280
- var b11 = a22 * a33 - a23 * a32;
277
+ let b08 = a20 * a33 - a23 * a30;
278
+ let b09 = a21 * a32 - a22 * a31;
279
+ let b10 = a21 * a33 - a23 * a31;
280
+ let b11 = a22 * a33 - a23 * a32;
281
281
 
282
282
  // Calculate the determinant
283
- var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
283
+ let det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
284
284
 
285
285
  if (!det)
286
286
  {
@@ -317,12 +317,12 @@ import { EPSILON } from './math.js';
317
317
  * @returns {Vector2d|Vector3d} result vector object.
318
318
  */
319
319
  apply(v) {
320
- var a = this.val,
320
+ let a = this.val,
321
321
  x = v.x,
322
322
  y = v.y,
323
323
  z = (typeof v.z !== "undefined") ? v.z : 1;
324
324
 
325
- var w = (a[3] * x + a[7] * y + a[11] * z + a[15]) || 1.0;
325
+ let w = (a[3] * x + a[7] * y + a[11] * z + a[15]) || 1.0;
326
326
 
327
327
  v.x = (a[0] * x + a[4] * y + a[8] * z + a[12]) / w;
328
328
  v.y = (a[1] * x + a[5] * y + a[9] * z + a[13]) / w;
@@ -343,7 +343,7 @@ import { EPSILON } from './math.js';
343
343
  */
344
344
  applyInverse(v) {
345
345
  // invert the current matrix
346
- var im = pool.pull("Matrix3d", this).invert();
346
+ let im = pool.pull("Matrix3d", this).invert();
347
347
 
348
348
  // apply the inverted matrix
349
349
  im.apply(v);
@@ -367,10 +367,10 @@ import { EPSILON } from './math.js';
367
367
  * @returns {Matrix3d} Reference to this object for method chaining
368
368
  */
369
369
  ortho(left, right, bottom, top, near, far) {
370
- var a = this.val;
371
- var leftRight = 1.0 / (left - right);
372
- var bottomTop = 1.0 / (bottom - top);
373
- var nearFar = 1.0 / (near - far);
370
+ let a = this.val;
371
+ let leftRight = 1.0 / (left - right);
372
+ let bottomTop = 1.0 / (bottom - top);
373
+ let nearFar = 1.0 / (near - far);
374
374
 
375
375
  a[0] = -2.0 * leftRight;
376
376
  a[1] = 0.0;
@@ -402,7 +402,7 @@ import { EPSILON } from './math.js';
402
402
  * @returns {Matrix3d} Reference to this object for method chaining
403
403
  */
404
404
  scale(x, y = x, z = 0) {
405
- var a = this.val;
405
+ let a = this.val;
406
406
 
407
407
  a[0] = a[0] * x;
408
408
  a[1] = a[1] * x;
@@ -465,20 +465,20 @@ import { EPSILON } from './math.js';
465
465
  */
466
466
  rotate(angle, v) {
467
467
  if (angle !== 0) {
468
- var a = this.val,
468
+ let a = this.val,
469
469
  x = v.x,
470
470
  y = v.y,
471
471
  z = v.z;
472
472
 
473
- var len = Math.sqrt(x * x + y * y + z * z);
473
+ let len = Math.sqrt(x * x + y * y + z * z);
474
474
 
475
- var s, c, t;
476
- var a00, a01, a02, a03;
477
- var a10, a11, a12, a13;
478
- var a20, a21, a22, a23;
479
- var b00, b01, b02;
480
- var b10, b11, b12;
481
- var b20, b21, b22;
475
+ let s, c, t;
476
+ let a00, a01, a02, a03;
477
+ let a10, a11, a12, a13;
478
+ let a20, a21, a22, a23;
479
+ let b00, b01, b02;
480
+ let b10, b11, b12;
481
+ let b20, b21, b22;
482
482
 
483
483
  if (len < EPSILON) {
484
484
  return null;
@@ -552,8 +552,8 @@ import { EPSILON } from './math.js';
552
552
  * @returns {Matrix3d} Reference to this object for method chaining
553
553
  */
554
554
  translate() {
555
- var a = this.val;
556
- var _x, _y, _z;
555
+ let a = this.val;
556
+ let _x, _y, _z;
557
557
 
558
558
  if (arguments.length > 1 ) {
559
559
  // x, y (, z)
@@ -582,7 +582,7 @@ import { EPSILON } from './math.js';
582
582
  * @returns {boolean}
583
583
  */
584
584
  isIdentity() {
585
- var a = this.val;
585
+ let a = this.val;
586
586
 
587
587
  return (
588
588
  (a[0] === 1) &&
@@ -612,8 +612,8 @@ import { EPSILON } from './math.js';
612
612
  * @returns {boolean} true if both are equals
613
613
  */
614
614
  equals(m) {
615
- var b = m.val;
616
- var a = this.val;
615
+ let b = m.val;
616
+ let a = this.val;
617
617
 
618
618
  return (
619
619
  (a[0] === b[0]) &&
@@ -662,7 +662,7 @@ import { EPSILON } from './math.js';
662
662
  * @returns {string}
663
663
  */
664
664
  toString() {
665
- var a = this.val;
665
+ let a = this.val;
666
666
 
667
667
  return "me.Matrix3d(" +
668
668
  a[0] + ", " + a[1] + ", " + a[2] + ", " + a[3] + ", " +
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -57,7 +57,7 @@ import { clamp } from './math.js';
57
57
  }
58
58
 
59
59
  set x(value) {
60
- var ret = this.onUpdate.call(this.scope, value, this._y, this._x, this._y);
60
+ let ret = this.onUpdate.call(this.scope, value, this._y, this._x, this._y);
61
61
  if (ret && "x" in ret) {
62
62
  this._x = ret.x;
63
63
  } else {
@@ -79,7 +79,7 @@ import { clamp } from './math.js';
79
79
  }
80
80
 
81
81
  set y(value) {
82
- var ret = this.onUpdate.call(this.scope, this._x, value, this._x, this._y);
82
+ let ret = this.onUpdate.call(this.scope, this._x, value, this._x, this._y);
83
83
  if (ret && "y" in ret) {
84
84
  this._y = ret.y;
85
85
  } else {
@@ -89,7 +89,7 @@ import { clamp } from './math.js';
89
89
 
90
90
  /** @ignore */
91
91
  _set(x, y) {
92
- var ret = this.onUpdate.call(this.scope, x, y, this._x, this._y);
92
+ let ret = this.onUpdate.call(this.scope, x, y, this._x, this._y);
93
93
  if (ret && "x" in ret && "y" in ret) {
94
94
  this._x = ret.x;
95
95
  this._y = ret.y;
@@ -347,19 +347,19 @@ import { clamp } from './math.js';
347
347
  * @returns {ObservableVector2d} Reference to this object for method chaining
348
348
  */
349
349
  rotate(angle, v) {
350
- var cx = 0;
351
- var cy = 0;
350
+ let cx = 0;
351
+ let cy = 0;
352
352
 
353
353
  if (typeof v === "object") {
354
354
  cx = v.x;
355
355
  cy = v.y;
356
356
  }
357
357
 
358
- var x = this._x - cx;
359
- var y = this._y - cy;
358
+ let x = this._x - cx;
359
+ let y = this._y - cy;
360
360
 
361
- var c = Math.cos(angle);
362
- var s = Math.sin(angle);
361
+ let c = Math.cos(angle);
362
+ let s = Math.sin(angle);
363
363
 
364
364
  return this._set(x * c - y * s + cx, x * s + y * c + cy);
365
365
  }
@@ -410,9 +410,9 @@ import { clamp } from './math.js';
410
410
  * @returns {ObservableVector2d} Reference to this object for method chaining
411
411
  */
412
412
  moveTowards(target, step) {
413
- var angle = Math.atan2(target.y - this._y, target.x - this._x);
413
+ let angle = Math.atan2(target.y - this._y, target.x - this._x);
414
414
 
415
- var distance = this.distance(target);
415
+ let distance = this.distance(target);
416
416
 
417
417
  if (distance === 0 || (step >= 0 && distance <= step * step)) {
418
418
  return target;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -58,7 +58,7 @@ import pool from '../system/pooling.js';
58
58
  }
59
59
 
60
60
  set x(value) {
61
- var ret = this.onUpdate.call(this.scope, value, this._y, this._z, this._x, this._y, this._z);
61
+ let ret = this.onUpdate.call(this.scope, value, this._y, this._z, this._x, this._y, this._z);
62
62
  if (ret && "x" in ret) {
63
63
  this._x = ret.x;
64
64
  } else {
@@ -79,7 +79,7 @@ import pool from '../system/pooling.js';
79
79
  }
80
80
 
81
81
  set y(value) {
82
- var ret = this.onUpdate.call(this.scope, this._x, value, this._z, this._x, this._y, this._z);
82
+ let ret = this.onUpdate.call(this.scope, this._x, value, this._z, this._x, this._y, this._z);
83
83
  if (ret && "y" in ret) {
84
84
  this._y = ret.y;
85
85
  } else {
@@ -102,7 +102,7 @@ import pool from '../system/pooling.js';
102
102
  }
103
103
 
104
104
  set z(value) {
105
- var ret = this.onUpdate.call(this.scope, this._x, this._y, value, this._x, this._y, this._z);
105
+ let ret = this.onUpdate.call(this.scope, this._x, this._y, value, this._x, this._y, this._z);
106
106
  if (ret && "z" in ret) {
107
107
  this._z = ret.z;
108
108
  } else {
@@ -114,7 +114,7 @@ import pool from '../system/pooling.js';
114
114
  * @ignore
115
115
  */
116
116
  _set(x, y, z) {
117
- var ret = this.onUpdate.call(this.scope, x, y, z, this._x, this._y, this._z);
117
+ let ret = this.onUpdate.call(this.scope, x, y, z, this._x, this._y, this._z);
118
118
  if (ret && "x" in ret && "y" in ret && "z" in ret) {
119
119
  this._x = ret.x;
120
120
  this._y = ret.y;
@@ -274,7 +274,7 @@ import pool from '../system/pooling.js';
274
274
  * @returns {ObservableVector3d} Reference to this object for method chaining
275
275
  */
276
276
  minV(v) {
277
- var _vz = v.z || 0;
277
+ let _vz = v.z || 0;
278
278
  return this._set(
279
279
  (this._x < v.x) ? this._x : v.x,
280
280
  (this._y < v.y) ? this._y : v.y,
@@ -290,7 +290,7 @@ import pool from '../system/pooling.js';
290
290
  * @returns {ObservableVector3d} Reference to this object for method chaining
291
291
  */
292
292
  maxV(v) {
293
- var _vz = v.z || 0;
293
+ let _vz = v.z || 0;
294
294
  return this._set(
295
295
  (this._x > v.x) ? this._x : v.x,
296
296
  (this._y > v.y) ? this._y : v.y,
@@ -415,8 +415,8 @@ import pool from '../system/pooling.js';
415
415
  * @returns {ObservableVector3d} Reference to this object for method chaining
416
416
  */
417
417
  rotate(angle, v) {
418
- var cx = 0;
419
- var cy = 0;
418
+ let cx = 0;
419
+ let cy = 0;
420
420
 
421
421
  if (typeof v === "object") {
422
422
  cx = v.x;
@@ -424,11 +424,11 @@ import pool from '../system/pooling.js';
424
424
  }
425
425
 
426
426
  // TODO also rotate on the z axis if the given vector is a 3d one
427
- var x = this.x - cx;
428
- var y = this.y - cy;
427
+ let x = this.x - cx;
428
+ let y = this.y - cy;
429
429
 
430
- var c = Math.cos(angle);
431
- var s = Math.sin(angle);
430
+ let c = Math.cos(angle);
431
+ let s = Math.sin(angle);
432
432
 
433
433
  return this._set(x * c - y * s + cx, x * s + y * c + cy, this.z);
434
434
  }
@@ -452,8 +452,8 @@ import pool from '../system/pooling.js';
452
452
  * @returns {ObservableVector3d} Reference to this object for method chaining
453
453
  */
454
454
  cross(v) {
455
- var ax = this._x, ay = this._y, az = this._z;
456
- var bx = v.x, by = v.y, bz = v.z;
455
+ let ax = this._x, ay = this._y, az = this._z;
456
+ let bx = v.x, by = v.y, bz = v.z;
457
457
 
458
458
  return this._set(
459
459
  ay * bz - az * by,
@@ -487,12 +487,12 @@ import pool from '../system/pooling.js';
487
487
  * @returns {ObservableVector3d} Reference to this object for method chaining
488
488
  */
489
489
  moveTowards(target, step) {
490
- var angle = Math.atan2(target.y - this._y, target.x - this._x);
490
+ let angle = Math.atan2(target.y - this._y, target.x - this._x);
491
491
 
492
- var dx = this._x - target.x;
493
- var dy = this._y - target.y;
492
+ let dx = this._x - target.x;
493
+ let dy = this._y - target.y;
494
494
 
495
- var distance = Math.sqrt(dx * dx + dy * dy);
495
+ let distance = Math.sqrt(dx * dx + dy * dy);
496
496
 
497
497
  if (distance === 0 || (step >= 0 && distance <= step * step)) {
498
498
  return target;
@@ -513,9 +513,9 @@ import pool from '../system/pooling.js';
513
513
  * @returns {number}
514
514
  */
515
515
  distance(v) {
516
- var dx = this._x - v.x;
517
- var dy = this._y - v.y;
518
- var dz = this._z - (v.z || 0);
516
+ let dx = this._x - v.x;
517
+ let dy = this._y - v.y;
518
+ let dz = this._z - (v.z || 0);
519
519
  return Math.sqrt(dx * dx + dy * dy + dz * dz);
520
520
  }
521
521
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -317,7 +317,7 @@ import pool from '../system/pooling.js';
317
317
  * @returns {boolean}
318
318
  */
319
319
  equals() {
320
- var _x, _y;
320
+ let _x, _y;
321
321
  if (arguments.length === 2) {
322
322
  // x, y
323
323
  _x = arguments[0];
@@ -360,19 +360,19 @@ import pool from '../system/pooling.js';
360
360
  * @returns {Vector2d} Reference to this object for method chaining
361
361
  */
362
362
  rotate(angle, v) {
363
- var cx = 0;
364
- var cy = 0;
363
+ let cx = 0;
364
+ let cy = 0;
365
365
 
366
366
  if (typeof v === "object") {
367
367
  cx = v.x;
368
368
  cy = v.y;
369
369
  }
370
370
 
371
- var x = this.x - cx;
372
- var y = this.y - cy;
371
+ let x = this.x - cx;
372
+ let y = this.y - cy;
373
373
 
374
- var c = Math.cos(angle);
375
- var s = Math.sin(angle);
374
+ let c = Math.cos(angle);
375
+ let s = Math.sin(angle);
376
376
 
377
377
  return this._set(x * c - y * s + cx, x * s + y * c + cy);
378
378
  }
@@ -442,9 +442,9 @@ import pool from '../system/pooling.js';
442
442
  * @returns {Vector2d} Reference to this object for method chaining
443
443
  */
444
444
  moveTowards(target, step) {
445
- var angle = Math.atan2(target.y - this.y, target.x - this.x);
445
+ let angle = Math.atan2(target.y - this.y, target.x - this.x);
446
446
 
447
- var distance = this.distance(target);
447
+ let distance = this.distance(target);
448
448
 
449
449
  if (distance === 0 || (step >= 0 && distance <= step * step)) {
450
450
  return target;
@@ -464,7 +464,7 @@ import pool from '../system/pooling.js';
464
464
  * @returns {number}
465
465
  */
466
466
  distance(v) {
467
- var dx = this.x - v.x, dy = this.y - v.y;
467
+ let dx = this.x - v.x, dy = this.y - v.y;
468
468
  return Math.sqrt(dx * dx + dy * dy);
469
469
  }
470
470
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -229,7 +229,7 @@ import pool from '../system/pooling.js';
229
229
  * @returns {Vector3d} Reference to this object for method chaining
230
230
  */
231
231
  minV(v) {
232
- var _vz = v.z || 0;
232
+ let _vz = v.z || 0;
233
233
  return this._set((this.x < v.x) ? this.x : v.x, (this.y < v.y) ? this.y : v.y, (this.z < _vz) ? this.z : _vz);
234
234
  }
235
235
 
@@ -241,7 +241,7 @@ import pool from '../system/pooling.js';
241
241
  * @returns {Vector3d} Reference to this object for method chaining
242
242
  */
243
243
  maxV(v) {
244
- var _vz = v.z || 0;
244
+ let _vz = v.z || 0;
245
245
  return this._set((this.x > v.x) ? this.x : v.x, (this.y > v.y) ? this.y : v.y, (this.z > _vz) ? this.z : _vz);
246
246
  }
247
247
 
@@ -334,7 +334,7 @@ import pool from '../system/pooling.js';
334
334
  * @returns {boolean}
335
335
  */
336
336
  equals() {
337
- var _x, _y, _z;
337
+ let _x, _y, _z;
338
338
  if (arguments.length >= 2) {
339
339
  // x, y, z
340
340
  _x = arguments[0];
@@ -384,8 +384,8 @@ import pool from '../system/pooling.js';
384
384
  * @returns {Vector3d} Reference to this object for method chaining
385
385
  */
386
386
  rotate(angle, v) {
387
- var cx = 0;
388
- var cy = 0;
387
+ let cx = 0;
388
+ let cy = 0;
389
389
 
390
390
  if (typeof v === "object") {
391
391
  cx = v.x;
@@ -393,11 +393,11 @@ import pool from '../system/pooling.js';
393
393
  }
394
394
 
395
395
  // TODO also rotate on the z axis if the given vector is a 3d one
396
- var x = this.x - cx;
397
- var y = this.y - cy;
396
+ let x = this.x - cx;
397
+ let y = this.y - cy;
398
398
 
399
- var c = Math.cos(angle);
400
- var s = Math.sin(angle);
399
+ let c = Math.cos(angle);
400
+ let s = Math.sin(angle);
401
401
 
402
402
  return this._set(x * c - y * s + cx, x * s + y * c + cy, this.z);
403
403
  }
@@ -421,8 +421,8 @@ import pool from '../system/pooling.js';
421
421
  * @returns {Vector3d} Reference to this object for method chaining
422
422
  */
423
423
  cross(v) {
424
- var ax = this.x, ay = this.y, az = this.z;
425
- var bx = v.x, by = v.y, bz = v.z;
424
+ let ax = this.x, ay = this.y, az = this.z;
425
+ let bx = v.x, by = v.y, bz = v.z;
426
426
 
427
427
  this.x = ay * bz - az * by;
428
428
  this.y = az * bx - ax * bz;
@@ -475,12 +475,12 @@ import pool from '../system/pooling.js';
475
475
  * @returns {Vector3d} Reference to this object for method chaining
476
476
  */
477
477
  moveTowards(target, step) {
478
- var angle = Math.atan2(target.y - this.y, target.x - this.x);
478
+ let angle = Math.atan2(target.y - this.y, target.x - this.x);
479
479
 
480
- var dx = this.x - target.x;
481
- var dy = this.y - target.y;
480
+ let dx = this.x - target.x;
481
+ let dy = this.y - target.y;
482
482
 
483
- var distance = Math.sqrt(dx * dx + dy * dy);
483
+ let distance = Math.sqrt(dx * dx + dy * dy);
484
484
 
485
485
  if (distance === 0 || (step >= 0 && distance <= step * step)) {
486
486
  return target;
@@ -500,9 +500,9 @@ import pool from '../system/pooling.js';
500
500
  * @returns {number}
501
501
  */
502
502
  distance(v) {
503
- var dx = this.x - v.x;
504
- var dy = this.y - v.y;
505
- var dz = this.z - (v.z || 0);
503
+ let dx = this.x - v.x;
504
+ let dy = this.y - v.y;
505
+ let dz = this.z - (v.z || 0);
506
506
  return Math.sqrt(dx * dx + dy * dy + dz * dz);
507
507
  }
508
508
 
@@ -525,7 +525,7 @@ import pool from '../system/pooling.js';
525
525
  * @returns {Vector3d} Reference to this object for method chaining
526
526
  */
527
527
  project(v) {
528
- var ratio = this.dot(v) / v.length2();
528
+ let ratio = this.dot(v) / v.length2();
529
529
  return this.scale(ratio, ratio, ratio);
530
530
  }
531
531
 
@@ -538,7 +538,7 @@ import pool from '../system/pooling.js';
538
538
  * @returns {Vector3d} Reference to this object for method chaining
539
539
  */
540
540
  projectN(v) {
541
- var ratio = this.dot(v) / v.length2();
541
+ let ratio = this.dot(v) / v.length2();
542
542
  return this.scale(ratio, ratio, ratio);
543
543
  }
544
544
 
@@ -0,0 +1,45 @@
1
+ /*!
2
+ * melonJS Game Engine - v15.1.1
3
+ * http://www.melonjs.org
4
+ * melonjs is licensed under the MIT License.
5
+ * http://www.opensource.org/licenses/mit-license
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
+ */
8
+ import { Multimap } from './multimap.js';
9
+
10
+ class ArrayMultimap extends Multimap {
11
+ constructor(iterable) {
12
+ super(new ArrayOperator(), iterable);
13
+ }
14
+ get [Symbol.toStringTag]() {
15
+ return "ArrayMultimap";
16
+ }
17
+ }
18
+ class ArrayOperator {
19
+ create() {
20
+ return [];
21
+ }
22
+ clone(collection) {
23
+ return collection.slice();
24
+ }
25
+ add(value, collection) {
26
+ collection.push(value);
27
+ return true;
28
+ }
29
+ size(collection) {
30
+ return collection.length;
31
+ }
32
+ delete(value, collection) {
33
+ const index = collection.indexOf(value);
34
+ if (index > -1) {
35
+ collection.splice(index, 1);
36
+ return true;
37
+ }
38
+ return false;
39
+ }
40
+ has(value, collection) {
41
+ return collection.includes(value);
42
+ }
43
+ }
44
+
45
+ export { ArrayMultimap };