melonjs 17.0.0 → 17.1.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 (261) hide show
  1. package/README.md +1 -1
  2. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  5. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  6. package/dist/melonjs.mjs/_virtual/re.js +1 -1
  7. package/dist/melonjs.mjs/application/application.js +1 -1
  8. package/dist/melonjs.mjs/application/header.js +1 -1
  9. package/dist/melonjs.mjs/application/resize.js +1 -1
  10. package/dist/melonjs.mjs/application/settings.js +1 -1
  11. package/dist/melonjs.mjs/audio/audio.js +116 -30
  12. package/dist/melonjs.mjs/camera/camera2d.js +1 -1
  13. package/dist/melonjs.mjs/const.js +1 -1
  14. package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
  15. package/dist/melonjs.mjs/geometries/line.js +1 -1
  16. package/dist/melonjs.mjs/geometries/path2d.js +1 -1
  17. package/dist/melonjs.mjs/geometries/point.js +1 -1
  18. package/dist/melonjs.mjs/geometries/poly.js +1 -1
  19. package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
  20. package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
  21. package/dist/melonjs.mjs/geometries/toarccanvas.js +1 -1
  22. package/dist/melonjs.mjs/index.js +6 -6
  23. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  24. package/dist/melonjs.mjs/input/input.js +1 -1
  25. package/dist/melonjs.mjs/input/keyboard.js +1 -1
  26. package/dist/melonjs.mjs/input/pointer.js +1 -1
  27. package/dist/melonjs.mjs/input/pointerevent.js +1 -1
  28. package/dist/melonjs.mjs/lang/console.js +1 -1
  29. package/dist/melonjs.mjs/lang/deprecated.js +24 -2
  30. package/dist/melonjs.mjs/level/level.js +1 -1
  31. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  32. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -1
  33. package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
  34. package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
  35. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +1 -1
  36. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
  37. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
  39. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  45. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  46. package/dist/melonjs.mjs/loader/cache.js +1 -1
  47. package/dist/melonjs.mjs/loader/loader.js +1 -1
  48. package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
  49. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  50. package/dist/melonjs.mjs/loader/parsers/binary.js +1 -1
  51. package/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js +58 -0
  52. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js +13 -0
  53. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js +13 -0
  54. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js +13 -0
  55. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js +13 -0
  56. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js +136 -0
  57. package/dist/melonjs.mjs/loader/parsers/fetchdata.js +1 -1
  58. package/dist/melonjs.mjs/loader/parsers/fontface.js +1 -1
  59. package/dist/melonjs.mjs/loader/parsers/image.js +90 -43
  60. package/dist/melonjs.mjs/loader/parsers/json.js +1 -1
  61. package/dist/melonjs.mjs/loader/parsers/script.js +1 -1
  62. package/dist/melonjs.mjs/loader/parsers/tmx.js +1 -1
  63. package/dist/melonjs.mjs/loader/parsers/video.js +1 -1
  64. package/dist/melonjs.mjs/math/color.js +1 -1
  65. package/dist/melonjs.mjs/math/math.js +24 -2
  66. package/dist/melonjs.mjs/math/matrix2.js +1 -1
  67. package/dist/melonjs.mjs/math/matrix3.js +1 -1
  68. package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
  69. package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
  70. package/dist/melonjs.mjs/math/vector2.js +1 -1
  71. package/dist/melonjs.mjs/math/vector3.js +1 -1
  72. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
  73. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
  74. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  75. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  76. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  77. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  78. package/dist/melonjs.mjs/node_modules/semver/classes/comparator.js +1 -1
  79. package/dist/melonjs.mjs/node_modules/semver/classes/range.js +1 -1
  80. package/dist/melonjs.mjs/node_modules/semver/classes/semver.js +1 -1
  81. package/dist/melonjs.mjs/node_modules/semver/functions/clean.js +1 -1
  82. package/dist/melonjs.mjs/node_modules/semver/functions/cmp.js +1 -1
  83. package/dist/melonjs.mjs/node_modules/semver/functions/coerce.js +1 -1
  84. package/dist/melonjs.mjs/node_modules/semver/functions/compare-build.js +1 -1
  85. package/dist/melonjs.mjs/node_modules/semver/functions/compare-loose.js +1 -1
  86. package/dist/melonjs.mjs/node_modules/semver/functions/compare.js +1 -1
  87. package/dist/melonjs.mjs/node_modules/semver/functions/diff.js +1 -1
  88. package/dist/melonjs.mjs/node_modules/semver/functions/eq.js +1 -1
  89. package/dist/melonjs.mjs/node_modules/semver/functions/gt.js +1 -1
  90. package/dist/melonjs.mjs/node_modules/semver/functions/gte.js +1 -1
  91. package/dist/melonjs.mjs/node_modules/semver/functions/inc.js +1 -1
  92. package/dist/melonjs.mjs/node_modules/semver/functions/lt.js +1 -1
  93. package/dist/melonjs.mjs/node_modules/semver/functions/lte.js +1 -1
  94. package/dist/melonjs.mjs/node_modules/semver/functions/major.js +1 -1
  95. package/dist/melonjs.mjs/node_modules/semver/functions/minor.js +1 -1
  96. package/dist/melonjs.mjs/node_modules/semver/functions/neq.js +1 -1
  97. package/dist/melonjs.mjs/node_modules/semver/functions/parse.js +1 -1
  98. package/dist/melonjs.mjs/node_modules/semver/functions/patch.js +1 -1
  99. package/dist/melonjs.mjs/node_modules/semver/functions/prerelease.js +1 -1
  100. package/dist/melonjs.mjs/node_modules/semver/functions/rcompare.js +1 -1
  101. package/dist/melonjs.mjs/node_modules/semver/functions/rsort.js +1 -1
  102. package/dist/melonjs.mjs/node_modules/semver/functions/satisfies.js +1 -1
  103. package/dist/melonjs.mjs/node_modules/semver/functions/sort.js +1 -1
  104. package/dist/melonjs.mjs/node_modules/semver/functions/valid.js +1 -1
  105. package/dist/melonjs.mjs/node_modules/semver/index.js +1 -1
  106. package/dist/melonjs.mjs/node_modules/semver/internal/constants.js +1 -1
  107. package/dist/melonjs.mjs/node_modules/semver/internal/debug.js +1 -1
  108. package/dist/melonjs.mjs/node_modules/semver/internal/identifiers.js +1 -1
  109. package/dist/melonjs.mjs/node_modules/semver/internal/parse-options.js +1 -1
  110. package/dist/melonjs.mjs/node_modules/semver/internal/re.js +1 -1
  111. package/dist/melonjs.mjs/node_modules/semver/node_modules/lru-cache/index.js +1 -1
  112. package/dist/melonjs.mjs/node_modules/semver/node_modules/yallist/iterator.js +1 -1
  113. package/dist/melonjs.mjs/node_modules/semver/node_modules/yallist/yallist.js +1 -1
  114. package/dist/melonjs.mjs/node_modules/semver/ranges/gtr.js +1 -1
  115. package/dist/melonjs.mjs/node_modules/semver/ranges/intersects.js +1 -1
  116. package/dist/melonjs.mjs/node_modules/semver/ranges/ltr.js +1 -1
  117. package/dist/melonjs.mjs/node_modules/semver/ranges/max-satisfying.js +1 -1
  118. package/dist/melonjs.mjs/node_modules/semver/ranges/min-satisfying.js +1 -1
  119. package/dist/melonjs.mjs/node_modules/semver/ranges/min-version.js +1 -1
  120. package/dist/melonjs.mjs/node_modules/semver/ranges/outside.js +1 -1
  121. package/dist/melonjs.mjs/node_modules/semver/ranges/simplify.js +1 -1
  122. package/dist/melonjs.mjs/node_modules/semver/ranges/subset.js +1 -1
  123. package/dist/melonjs.mjs/node_modules/semver/ranges/to-comparators.js +1 -1
  124. package/dist/melonjs.mjs/node_modules/semver/ranges/valid.js +1 -1
  125. package/dist/melonjs.mjs/particles/emitter.js +2 -2
  126. package/dist/melonjs.mjs/particles/particle.js +1 -1
  127. package/dist/melonjs.mjs/particles/settings.js +1 -1
  128. package/dist/melonjs.mjs/physics/body.js +1 -1
  129. package/dist/melonjs.mjs/physics/bounds.js +1 -1
  130. package/dist/melonjs.mjs/physics/collision.js +1 -1
  131. package/dist/melonjs.mjs/physics/detector.js +1 -1
  132. package/dist/melonjs.mjs/physics/quadtree.js +1 -1
  133. package/dist/melonjs.mjs/physics/response.js +1 -1
  134. package/dist/melonjs.mjs/physics/sat.js +1 -1
  135. package/dist/melonjs.mjs/physics/world.js +1 -1
  136. package/dist/melonjs.mjs/plugin/plugin.js +4 -4
  137. package/dist/melonjs.mjs/renderable/collectable.js +1 -1
  138. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  139. package/dist/melonjs.mjs/renderable/container.js +1 -1
  140. package/dist/melonjs.mjs/renderable/draggable.js +1 -1
  141. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  142. package/dist/melonjs.mjs/renderable/entity/entity.js +1 -1
  143. package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
  144. package/dist/melonjs.mjs/renderable/light2d.js +2 -2
  145. package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
  146. package/dist/melonjs.mjs/renderable/renderable.js +19 -7
  147. package/dist/melonjs.mjs/renderable/sprite.js +1 -1
  148. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +1 -1
  149. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +1 -1
  150. package/dist/melonjs.mjs/renderable/text/glyph.js +1 -1
  151. package/dist/melonjs.mjs/renderable/text/text.js +2 -2
  152. package/dist/melonjs.mjs/renderable/text/textmetrics.js +1 -1
  153. package/dist/melonjs.mjs/renderable/text/textstyle.js +1 -1
  154. package/dist/melonjs.mjs/renderable/trigger.js +1 -1
  155. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
  156. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
  157. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
  158. package/dist/melonjs.mjs/state/stage.js +2 -2
  159. package/dist/melonjs.mjs/state/state.js +5 -5
  160. package/dist/melonjs.mjs/system/device.js +18 -13
  161. package/dist/melonjs.mjs/system/dom.js +1 -1
  162. package/dist/melonjs.mjs/system/event.js +2 -2
  163. package/dist/melonjs.mjs/system/platform.js +1 -1
  164. package/dist/melonjs.mjs/system/pooling.js +2 -2
  165. package/dist/melonjs.mjs/system/save.js +3 -3
  166. package/dist/melonjs.mjs/system/timer.js +4 -4
  167. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  168. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  169. package/dist/melonjs.mjs/tweens/tween.js +1 -1
  170. package/dist/melonjs.mjs/utils/agent.js +1 -1
  171. package/dist/melonjs.mjs/utils/array.js +1 -1
  172. package/dist/melonjs.mjs/utils/file.js +1 -1
  173. package/dist/melonjs.mjs/utils/function.js +1 -1
  174. package/dist/melonjs.mjs/utils/string.js +1 -1
  175. package/dist/melonjs.mjs/utils/utils.js +1 -1
  176. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -4
  177. package/dist/melonjs.mjs/video/renderer.js +17 -45
  178. package/dist/melonjs.mjs/video/{texture/canvas_texture.js → rendertarget/canvasrendertarget.js} +89 -22
  179. package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
  180. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  181. package/dist/melonjs.mjs/video/texture/parser/aseprite.js +1 -1
  182. package/dist/melonjs.mjs/video/texture/parser/spritesheet.js +1 -1
  183. package/dist/melonjs.mjs/video/texture/parser/texturepacker.js +1 -1
  184. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  185. package/dist/melonjs.mjs/video/video.js +1 -1
  186. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
  187. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
  188. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
  189. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +1 -1
  190. package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
  191. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  192. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  193. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  194. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  195. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  196. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  197. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  198. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  199. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  200. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +53 -62
  201. package/dist/melonjs.module.js +1209 -796
  202. package/dist/types/audio/audio.d.ts +82 -28
  203. package/dist/types/index.d.ts +2 -2
  204. package/dist/types/lang/deprecated.d.ts +23 -0
  205. package/dist/types/level/tiled/TMXLayer.d.ts +1 -2
  206. package/dist/types/loader/parsers/compressed_textures/compressed_image.d.ts +1 -0
  207. package/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts +1 -0
  208. package/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts +1 -0
  209. package/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts +1 -0
  210. package/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts +1 -0
  211. package/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts +1 -0
  212. package/dist/types/math/math.d.ts +7 -0
  213. package/dist/types/particles/emitter.d.ts +30 -9
  214. package/dist/types/plugin/plugin.d.ts +1 -1
  215. package/dist/types/polyfill/console.d.ts +1 -0
  216. package/dist/types/polyfill/roundrect.d.ts +1 -0
  217. package/dist/types/renderable/collectable.d.ts +0 -2
  218. package/dist/types/renderable/container.d.ts +7 -1
  219. package/dist/types/renderable/entity/entity.d.ts +6 -0
  220. package/dist/types/renderable/renderable.d.ts +9 -0
  221. package/dist/types/renderable/text/bitmaptext.d.ts +6 -0
  222. package/dist/types/renderable/trigger.d.ts +0 -2
  223. package/dist/types/state/stage.d.ts +1 -1
  224. package/dist/types/state/state.d.ts +1 -1
  225. package/dist/types/system/event.d.ts +5 -5
  226. package/dist/types/system/pooling.d.ts +2 -2
  227. package/dist/types/video/canvas/canvas_renderer.d.ts +0 -1
  228. package/dist/types/video/renderer.d.ts +7 -0
  229. package/dist/types/video/{texture/canvas_texture.d.ts → rendertarget/canvasrendertarget.d.ts} +13 -12
  230. package/dist/types/video/utils/autodetect.d.ts +1 -3
  231. package/dist/types/video/video.d.ts +0 -1
  232. package/dist/types/video/webgl/webgl_renderer.d.ts +18 -16
  233. package/package.json +11 -11
  234. package/src/audio/audio.js +114 -28
  235. package/src/index.js +3 -3
  236. package/src/lang/deprecated.js +21 -0
  237. package/src/loader/parsers/compressed_textures/compressed_image.js +49 -0
  238. package/src/loader/parsers/compressed_textures/parseDDS.js +5 -0
  239. package/src/loader/parsers/compressed_textures/parseKTX.js +5 -0
  240. package/src/loader/parsers/compressed_textures/parseKTX2.js +5 -0
  241. package/src/loader/parsers/compressed_textures/parsePKM.js +5 -0
  242. package/src/loader/parsers/compressed_textures/parsePVR.js +127 -0
  243. package/src/loader/parsers/image.js +89 -42
  244. package/src/math/math.js +22 -0
  245. package/src/particles/emitter.js +1 -1
  246. package/src/plugin/plugin.js +1 -1
  247. package/src/renderable/container.js +1 -1
  248. package/src/renderable/light2d.js +1 -1
  249. package/src/renderable/renderable.js +19 -6
  250. package/src/renderable/text/text.js +1 -1
  251. package/src/state/stage.js +1 -1
  252. package/src/state/state.js +3 -3
  253. package/src/system/device.js +17 -12
  254. package/src/system/event.js +1 -1
  255. package/src/system/pooling.js +1 -1
  256. package/src/system/save.js +1 -1
  257. package/src/system/timer.js +2 -2
  258. package/src/video/canvas/canvas_renderer.js +0 -3
  259. package/src/video/renderer.js +15 -43
  260. package/src/video/{texture/canvas_texture.js → rendertarget/canvasrendertarget.js} +90 -21
  261. package/src/video/webgl/webgl_renderer.js +52 -61
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -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 "17.0.0"
40
+ * @default "17.1.0"
41
41
  */
42
- this.version = "17.0.0";
42
+ this.version = "17.1.0";
43
43
 
44
44
  /**
45
45
  * a reference to the app/game that registered this plugin
@@ -112,7 +112,7 @@ function patch(proto, name, fn) {
112
112
  * @memberof plugin
113
113
  * @param {plugin.BasePlugin} plugin - Plugin object to instantiate and register
114
114
  * @param {string} [name=plugin.constructor.name] - a unique name for this plugin
115
- * @param {object} [...arguments] - all extra parameters will be passed to the plugin constructor
115
+ * @param {...*} [args] - all extra parameters will be passed to the plugin constructor
116
116
  * @example
117
117
  * // register a new plugin
118
118
  * me.plugin.register(TestPlugin, "testPlugin");
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -108,7 +108,7 @@ class Light2d extends Renderable {
108
108
  this.visibleArea = pool.pull("Ellipse", this.centerX, this.centerY, this.width, this.height);
109
109
 
110
110
  /** @ignore */
111
- this.texture = pool.pull("CanvasTexture", this.width, this.height, { offscreenCanvas: false });
111
+ this.texture = pool.pull("CanvasRenderTarget", this.width, this.height, { offscreenCanvas: false });
112
112
 
113
113
  this.anchorPoint.set(0, 0);
114
114
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -10,6 +10,10 @@ import ObservableVector3d from '../math/observable_vector3.js';
10
10
  import Rect from '../geometries/rectangle.js';
11
11
  import pool from '../system/pooling.js';
12
12
  import { clamp } from '../math/math.js';
13
+ import Body from '../physics/body.js';
14
+ import Bounds from '../physics/bounds.js';
15
+ import GLShader from '../video/webgl/glshader.js';
16
+ import Color from '../math/color.js';
13
17
  import { releaseAllPointerEvents } from '../input/pointerevent.js';
14
18
 
15
19
  /**
@@ -798,8 +802,10 @@ class Renderable extends Rect {
798
802
  this._absPos = undefined;
799
803
  }
800
804
 
801
- pool.push(this._bounds);
802
- this._bounds = undefined;
805
+ if (this._bounds instanceof Bounds) {
806
+ pool.push(this._bounds);
807
+ this._bounds = undefined;
808
+ }
803
809
 
804
810
  this.onVisibilityChange = undefined;
805
811
 
@@ -808,16 +814,22 @@ class Renderable extends Rect {
808
814
  this.mask = undefined;
809
815
  }
810
816
 
811
- if (typeof this._tint !== "undefined") {
817
+ if (this._tint instanceof Color) {
812
818
  pool.push(this._tint);
813
819
  this._tint = undefined;
814
820
  }
815
821
 
822
+ // cannot import and reference a Container from a Renderable, since Container extends Renderable, creating a circular dependency
823
+ //if (this.ancestor instanceof Container || this.ancestor instanceof Entity) {
816
824
  this.ancestor = undefined;
825
+
826
+ // cannot import and reference a Application from a Renderable, messsing up class order in the bundle
827
+ //if (this._parentApp instanceof Application) {
817
828
  this._parentApp = undefined;
829
+ //}
818
830
 
819
- // destroy the physic body if defined and is a builtin body object
820
- if ((typeof this.body !== "undefined") && (typeof this.body.destroy === "function")) {
831
+ // destroy the physic body if a builtin body object
832
+ if (this.body instanceof Body) {
821
833
  this.body.destroy.apply(this.body, arguments);
822
834
  this.body = undefined;
823
835
  }
@@ -829,7 +841,7 @@ class Renderable extends Rect {
829
841
  this.onDestroyEvent.apply(this, arguments);
830
842
 
831
843
  // destroy any shader object if not done by the user through onDestroyEvent()
832
- if (typeof this.shader === "object") {
844
+ if (this.shader instanceof GLShader) {
833
845
  this.shader.destroy();
834
846
  this.shader = undefined;
835
847
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -183,7 +183,7 @@ class Text extends Renderable {
183
183
 
184
184
  // the canvas Texture used to render this text
185
185
  // XXX: offscreenCanvas is currently disabled for text rendering due to issue in WebGL mode
186
- this.canvasTexture = pool.pull("CanvasTexture", 2, 2, { offscreenCanvas: false });
186
+ this.canvasTexture = pool.pull("CanvasRenderTarget", 2, 2, { offscreenCanvas: false });
187
187
 
188
188
  // instance to text metrics functions
189
189
  this.metrics = new TextMetrics(this);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -208,7 +208,7 @@ class Stage {
208
208
  * this is typically where you will load a level, add renderables, etc...
209
209
  * @name onResetEvent
210
210
  * @memberof Stage
211
- * @param {object} [...arguments] - optional arguments passed when switching state
211
+ * @param {...*} [args] - optional arguments passed when switching state
212
212
  * @see state#change
213
213
  */
214
214
  onResetEvent() {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { pauseTrack, resumeTrack } from '../audio/audio.js';
9
9
  import { defer } from '../utils/function.js';
10
- import { on, VIDEO_INIT, BOOT, emit, STATE_STOP, STATE_PAUSE, STATE_RESTART, STATE_RESUME, STATE_CHANGE, TICK } from '../system/event.js';
10
+ import { once, VIDEO_INIT, BOOT, emit, STATE_STOP, STATE_PAUSE, STATE_RESTART, STATE_RESUME, STATE_CHANGE, TICK } from '../system/event.js';
11
11
  import { game } from '../index.js';
12
12
  import Stage from './stage.js';
13
13
  import DefaultLoadingScreen from '../loader/loadingscreen.js';
@@ -130,13 +130,13 @@ function _switchState(state) {
130
130
  }
131
131
 
132
132
  // initialize me.state on system boot
133
- on(BOOT, () => {
133
+ once(BOOT, () => {
134
134
  // set the built-in loading stage
135
135
  state.set(state.LOADING, new DefaultLoadingScreen());
136
136
  // set and enable the default stage
137
137
  state.set(state.DEFAULT, new Stage());
138
138
  // enable by default as soon as the display is initialized
139
- on(VIDEO_INIT, () => {
139
+ once(VIDEO_INIT, () => {
140
140
  state.change(state.DEFAULT, true);
141
141
  });
142
142
  });
@@ -485,7 +485,7 @@ let state = {
485
485
  * @public
486
486
  * @param {number} state - State ID (see constants)
487
487
  * @param {boolean} forceChange - if true the state will be changed immediately
488
- * @param {object} [...arguments] - extra arguments to be passed to the reset functions
488
+ * @param {...*} [args] - extra arguments to be passed to the reset functions
489
489
  * @example
490
490
  * // The onResetEvent method on the play screen will receive two args:
491
491
  * // "level_1" and the number 3
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -27,6 +27,9 @@ let domRect = {left: 0, top: 0, x: 0, y: 0, width: 0, height: 0, right: 0, botto
27
27
  // a list of supported videoCodecs;
28
28
  let videoCodecs;
29
29
 
30
+ // internal flag to avoid rechecking for support
31
+ let WebGLSupport = -1;
32
+
30
33
  function disableSwipeFn(e) {
31
34
  e.preventDefault();
32
35
  if (typeof globalThis.scroll === "function") {
@@ -683,19 +686,21 @@ function getParentBounds(element) {
683
686
  * @returns {boolean} true if WebGL is supported
684
687
  */
685
688
  function isWebGLSupported(options) {
686
- let _supported = false;
687
- try {
688
- let canvas = globalThis.document.createElement("canvas");
689
- let ctxOptions = {
690
- stencil: true,
691
- failIfMajorPerformanceCaveat: options.failIfMajorPerformanceCaveat
692
- };
693
- _supported = !! (globalThis.WebGLRenderingContext && (canvas.getContext("webgl", ctxOptions) || canvas.getContext("experimental-webgl", ctxOptions)));
694
- } catch (e) {
695
- _supported = false;
689
+ if (WebGLSupport === -1) {
690
+ let _supported = false;
691
+ try {
692
+ let canvas = globalThis.document.createElement("canvas");
693
+ let ctxOptions = {
694
+ stencil: true,
695
+ failIfMajorPerformanceCaveat: options.failIfMajorPerformanceCaveat
696
+ };
697
+ _supported = !! (globalThis.WebGLRenderingContext && (canvas.getContext("webgl", ctxOptions) || canvas.getContext("experimental-webgl", ctxOptions)));
698
+ WebGLSupport = _supported ? 1 : 0;
699
+ } catch (e) {
700
+ WebGLSupport = 0;
701
+ }
696
702
  }
697
-
698
- return _supported;
703
+ return WebGLSupport === 1;
699
704
  }
700
705
 
701
706
  /**
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -550,7 +550,7 @@ const ONCONTEXT_RESTORED = "renderer.contextrestored";
550
550
  * calls each of the listeners registered for a given event.
551
551
  * @function event.emit
552
552
  * @param {string|symbol} eventName - The event name.
553
- * @param {object} [...arguments] - arguments to be passed to all listeners
553
+ * @param {...*} [args] - arguments to be passed to all listeners
554
554
  * @returns {boolean} true if the event had listeners, false otherwise.
555
555
  * @example
556
556
  * me.event.emit("event-name", a, b, c);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -58,7 +58,7 @@ class ObjectPool {
58
58
  /**
59
59
  * Pull a new instance of the requested object (if added into the object pool)
60
60
  * @param {string} name - as used in {@link pool.register}
61
- * @param {object} [...arguments] - arguments to be passed when instantiating/reinitializing the object
61
+ * @param {...*} [args] - arguments to be passed when instantiating/reinitializing the object
62
62
  * @returns {object} the instance of the requested object
63
63
  * @example
64
64
  * me.pool.register("bullet", BulletEntity, true);
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
6
  * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
- import { on, BOOT } from './event.js';
8
+ import { once, BOOT } from './event.js';
9
9
 
10
10
  /**
11
11
  * allow to access and manage the device localStorage
@@ -61,7 +61,7 @@ function isReserved(key) {
61
61
 
62
62
 
63
63
  // Initialize me.save on Boot event
64
- on(BOOT, () => {
64
+ once(BOOT, () => {
65
65
  // Load previous data if local Storage is supported
66
66
  if (hasLocalStorage === true) {
67
67
  let me_save_content = globalThis.localStorage.getItem("me.save");
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
6
  * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { defer } from '../utils/function.js';
9
- import { on, GAME_BEFORE_UPDATE, BOOT, STATE_RESUME, STATE_RESTART, STATE_CHANGE } from './event.js';
9
+ import { once, on, GAME_BEFORE_UPDATE, BOOT, STATE_RESUME, STATE_RESTART, STATE_CHANGE } from './event.js';
10
10
  import state from '../state/state.js';
11
11
  import { clamp } from '../math/math.js';
12
12
 
@@ -72,8 +72,8 @@ class Timer {
72
72
  this.timers = [];
73
73
  this.timerId = 0;
74
74
 
75
- // Initialize mtimer on Boot event
76
- on(BOOT, () => {
75
+ // Initialize timer on Boot event
76
+ once(BOOT, () => {
77
77
  // reset variables to initial state
78
78
  this.reset();
79
79
  this.now = this.last = 0;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.0.0
2
+ * melonJS Game Engine - v17.1.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
@@ -23,9 +23,6 @@ class CanvasRenderer extends Renderer {
23
23
  // parent constructor
24
24
  super(options);
25
25
 
26
- // defined the 2d context
27
- this.context = this.getContext2d(this.getCanvas(), this.settings.transparent);
28
-
29
26
  this.setBlendMode(this.settings.blendMode);
30
27
 
31
28
  // apply the default color to the 2d context