melonjs 16.1.3 → 17.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 (230) hide show
  1. package/README.md +2 -2
  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 +5 -5
  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 +3 -3
  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 +1 -1
  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 +127 -5
  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 +4 -3
  51. package/dist/melonjs.mjs/loader/parsers/fetchdata.js +7 -7
  52. package/dist/melonjs.mjs/loader/parsers/fontface.js +1 -1
  53. package/dist/melonjs.mjs/loader/parsers/image.js +5 -4
  54. package/dist/melonjs.mjs/loader/parsers/json.js +5 -4
  55. package/dist/melonjs.mjs/loader/parsers/script.js +7 -3
  56. package/dist/melonjs.mjs/loader/parsers/tmx.js +5 -4
  57. package/dist/melonjs.mjs/loader/parsers/video.js +7 -7
  58. package/dist/melonjs.mjs/math/color.js +1 -1
  59. package/dist/melonjs.mjs/math/math.js +2 -31
  60. package/dist/melonjs.mjs/math/matrix2.js +1 -1
  61. package/dist/melonjs.mjs/math/matrix3.js +1 -1
  62. package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
  63. package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
  64. package/dist/melonjs.mjs/math/vector2.js +1 -1
  65. package/dist/melonjs.mjs/math/vector3.js +1 -1
  66. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
  67. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
  68. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  69. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  70. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  71. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  72. package/dist/melonjs.mjs/node_modules/semver/classes/comparator.js +1 -1
  73. package/dist/melonjs.mjs/node_modules/semver/classes/range.js +1 -1
  74. package/dist/melonjs.mjs/node_modules/semver/classes/semver.js +1 -1
  75. package/dist/melonjs.mjs/node_modules/semver/functions/clean.js +1 -1
  76. package/dist/melonjs.mjs/node_modules/semver/functions/cmp.js +1 -1
  77. package/dist/melonjs.mjs/node_modules/semver/functions/coerce.js +1 -1
  78. package/dist/melonjs.mjs/node_modules/semver/functions/compare-build.js +1 -1
  79. package/dist/melonjs.mjs/node_modules/semver/functions/compare-loose.js +1 -1
  80. package/dist/melonjs.mjs/node_modules/semver/functions/compare.js +1 -1
  81. package/dist/melonjs.mjs/node_modules/semver/functions/diff.js +1 -1
  82. package/dist/melonjs.mjs/node_modules/semver/functions/eq.js +1 -1
  83. package/dist/melonjs.mjs/node_modules/semver/functions/gt.js +1 -1
  84. package/dist/melonjs.mjs/node_modules/semver/functions/gte.js +1 -1
  85. package/dist/melonjs.mjs/node_modules/semver/functions/inc.js +1 -1
  86. package/dist/melonjs.mjs/node_modules/semver/functions/lt.js +1 -1
  87. package/dist/melonjs.mjs/node_modules/semver/functions/lte.js +1 -1
  88. package/dist/melonjs.mjs/node_modules/semver/functions/major.js +1 -1
  89. package/dist/melonjs.mjs/node_modules/semver/functions/minor.js +1 -1
  90. package/dist/melonjs.mjs/node_modules/semver/functions/neq.js +1 -1
  91. package/dist/melonjs.mjs/node_modules/semver/functions/parse.js +1 -1
  92. package/dist/melonjs.mjs/node_modules/semver/functions/patch.js +1 -1
  93. package/dist/melonjs.mjs/node_modules/semver/functions/prerelease.js +1 -1
  94. package/dist/melonjs.mjs/node_modules/semver/functions/rcompare.js +1 -1
  95. package/dist/melonjs.mjs/node_modules/semver/functions/rsort.js +1 -1
  96. package/dist/melonjs.mjs/node_modules/semver/functions/satisfies.js +1 -1
  97. package/dist/melonjs.mjs/node_modules/semver/functions/sort.js +1 -1
  98. package/dist/melonjs.mjs/node_modules/semver/functions/valid.js +1 -1
  99. package/dist/melonjs.mjs/node_modules/semver/index.js +1 -1
  100. package/dist/melonjs.mjs/node_modules/semver/internal/constants.js +1 -1
  101. package/dist/melonjs.mjs/node_modules/semver/internal/debug.js +1 -1
  102. package/dist/melonjs.mjs/node_modules/semver/internal/identifiers.js +1 -1
  103. package/dist/melonjs.mjs/node_modules/semver/internal/parse-options.js +1 -1
  104. package/dist/melonjs.mjs/node_modules/semver/internal/re.js +1 -1
  105. package/dist/melonjs.mjs/node_modules/semver/node_modules/lru-cache/index.js +1 -1
  106. package/dist/melonjs.mjs/node_modules/semver/node_modules/yallist/iterator.js +1 -1
  107. package/dist/melonjs.mjs/node_modules/semver/node_modules/yallist/yallist.js +1 -1
  108. package/dist/melonjs.mjs/node_modules/semver/ranges/gtr.js +1 -1
  109. package/dist/melonjs.mjs/node_modules/semver/ranges/intersects.js +1 -1
  110. package/dist/melonjs.mjs/node_modules/semver/ranges/ltr.js +1 -1
  111. package/dist/melonjs.mjs/node_modules/semver/ranges/max-satisfying.js +1 -1
  112. package/dist/melonjs.mjs/node_modules/semver/ranges/min-satisfying.js +1 -1
  113. package/dist/melonjs.mjs/node_modules/semver/ranges/min-version.js +1 -1
  114. package/dist/melonjs.mjs/node_modules/semver/ranges/outside.js +1 -1
  115. package/dist/melonjs.mjs/node_modules/semver/ranges/simplify.js +1 -1
  116. package/dist/melonjs.mjs/node_modules/semver/ranges/subset.js +1 -1
  117. package/dist/melonjs.mjs/node_modules/semver/ranges/to-comparators.js +1 -1
  118. package/dist/melonjs.mjs/node_modules/semver/ranges/valid.js +1 -1
  119. package/dist/melonjs.mjs/particles/emitter.js +1 -1
  120. package/dist/melonjs.mjs/particles/particle.js +1 -1
  121. package/dist/melonjs.mjs/particles/settings.js +1 -1
  122. package/dist/melonjs.mjs/physics/body.js +1 -1
  123. package/dist/melonjs.mjs/physics/bounds.js +1 -1
  124. package/dist/melonjs.mjs/physics/collision.js +1 -1
  125. package/dist/melonjs.mjs/physics/detector.js +1 -1
  126. package/dist/melonjs.mjs/physics/quadtree.js +1 -1
  127. package/dist/melonjs.mjs/physics/response.js +1 -1
  128. package/dist/melonjs.mjs/physics/sat.js +1 -1
  129. package/dist/melonjs.mjs/physics/world.js +1 -1
  130. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  131. package/dist/melonjs.mjs/renderable/collectable.js +1 -1
  132. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  133. package/dist/melonjs.mjs/renderable/container.js +1 -1
  134. package/dist/melonjs.mjs/renderable/draggable.js +1 -1
  135. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  136. package/dist/melonjs.mjs/renderable/entity/entity.js +1 -1
  137. package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
  138. package/dist/melonjs.mjs/renderable/light2d.js +1 -1
  139. package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
  140. package/dist/melonjs.mjs/renderable/renderable.js +1 -1
  141. package/dist/melonjs.mjs/renderable/sprite.js +8 -1
  142. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +1 -1
  143. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +1 -1
  144. package/dist/melonjs.mjs/renderable/text/glyph.js +1 -1
  145. package/dist/melonjs.mjs/renderable/text/text.js +1 -1
  146. package/dist/melonjs.mjs/renderable/text/textmetrics.js +1 -1
  147. package/dist/melonjs.mjs/renderable/text/textstyle.js +1 -1
  148. package/dist/melonjs.mjs/renderable/trigger.js +1 -1
  149. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
  150. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
  151. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
  152. package/dist/melonjs.mjs/state/stage.js +1 -1
  153. package/dist/melonjs.mjs/state/state.js +1 -1
  154. package/dist/melonjs.mjs/system/device.js +3 -109
  155. package/dist/melonjs.mjs/system/dom.js +1 -1
  156. package/dist/melonjs.mjs/system/event.js +1 -1
  157. package/dist/melonjs.mjs/system/platform.js +1 -1
  158. package/dist/melonjs.mjs/system/pooling.js +1 -1
  159. package/dist/melonjs.mjs/system/save.js +1 -1
  160. package/dist/melonjs.mjs/system/timer.js +1 -1
  161. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  162. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  163. package/dist/melonjs.mjs/tweens/tween.js +1 -1
  164. package/dist/melonjs.mjs/utils/agent.js +1 -1
  165. package/dist/melonjs.mjs/utils/array.js +1 -1
  166. package/dist/melonjs.mjs/utils/file.js +1 -1
  167. package/dist/melonjs.mjs/utils/function.js +1 -1
  168. package/dist/melonjs.mjs/utils/string.js +1 -1
  169. package/dist/melonjs.mjs/utils/utils.js +1 -1
  170. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -1
  171. package/dist/melonjs.mjs/video/renderer.js +1 -1
  172. package/dist/melonjs.mjs/video/texture/atlas.js +83 -160
  173. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  174. package/dist/melonjs.mjs/video/texture/canvas_texture.js +1 -1
  175. package/dist/melonjs.mjs/video/texture/parser/aseprite.js +78 -0
  176. package/dist/melonjs.mjs/video/texture/parser/spritesheet.js +77 -0
  177. package/dist/melonjs.mjs/video/texture/parser/texturepacker.js +64 -0
  178. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  179. package/dist/melonjs.mjs/video/video.js +1 -1
  180. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
  181. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
  182. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
  183. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +1 -1
  184. package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
  185. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  186. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  187. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  188. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  189. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  190. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  191. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  192. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  193. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  194. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +1 -1
  195. package/dist/melonjs.module.js +486 -456
  196. package/dist/types/audio/audio.d.ts +2 -1
  197. package/dist/types/loader/loader.d.ts +85 -1
  198. package/dist/types/loader/parsers/binary.d.ts +2 -1
  199. package/dist/types/loader/parsers/fetchdata.d.ts +3 -1
  200. package/dist/types/loader/parsers/image.d.ts +2 -1
  201. package/dist/types/loader/parsers/json.d.ts +3 -2
  202. package/dist/types/loader/parsers/script.d.ts +3 -2
  203. package/dist/types/loader/parsers/tmx.d.ts +3 -2
  204. package/dist/types/loader/parsers/video.d.ts +3 -2
  205. package/dist/types/math/math.d.ts +1 -30
  206. package/dist/types/system/device.d.ts +1 -107
  207. package/dist/types/video/texture/atlas.d.ts +9 -13
  208. package/dist/types/video/texture/parser/aseprite.d.ts +8 -0
  209. package/dist/types/video/texture/parser/spritesheet.d.ts +8 -0
  210. package/dist/types/video/texture/parser/texturepacker.d.ts +8 -0
  211. package/package.json +14 -13
  212. package/src/audio/audio.js +4 -4
  213. package/src/loader/loader.js +119 -5
  214. package/src/loader/parsers/binary.js +3 -2
  215. package/src/loader/parsers/fetchdata.js +6 -6
  216. package/src/loader/parsers/image.js +4 -3
  217. package/src/loader/parsers/json.js +4 -3
  218. package/src/loader/parsers/script.js +4 -5
  219. package/src/loader/parsers/tmx.js +4 -3
  220. package/src/loader/parsers/video.js +6 -6
  221. package/src/math/math.js +1 -30
  222. package/src/renderable/sprite.js +7 -0
  223. package/src/system/device.js +2 -108
  224. package/src/video/texture/atlas.js +81 -158
  225. package/src/video/texture/parser/aseprite.js +69 -0
  226. package/src/video/texture/parser/spritesheet.js +68 -0
  227. package/src/video/texture/parser/texturepacker.js +55 -0
  228. package/dist/melonjs.mjs/loader/settings.js +0 -92
  229. package/dist/types/loader/settings.d.ts +0 -57
  230. package/src/loader/settings.js +0 -86
@@ -1,17 +1,17 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
6
  * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
- import { nocache } from '../settings.js';
9
-
10
8
  /**
11
9
  * Fetches data from the specified URL.
12
10
  * @param {string} url - The URL to fetch the data from.
13
11
  * @param {string} responseType - The type of response expected ('json', 'text', 'blob', 'arrayBuffer').
12
+ * @param {Object} [settings] - custom settings to apply to the request (@link https://developer.mozilla.org/en-US/docs/Web/API/fetch#options)
14
13
  * @returns {Promise} A promise that resolves with the fetched data or rejects with an error.
14
+ * @ignore
15
15
  * @example
16
16
  * fetchData('https://api.example.com/data', 'json')
17
17
  * .then(data => {
@@ -21,15 +21,15 @@ import { nocache } from '../settings.js';
21
21
  * // Handle the error
22
22
  * });
23
23
  */
24
- function fetchData(url, responseType) {
24
+ function fetchData(url, responseType, settings = {}) {
25
25
  return new Promise((resolve, reject) => {
26
26
  fetch(url, {
27
27
  method: "GET",
28
28
  // internally nocache is a string with a generated random number
29
- cache: nocache === "" ? "no-cache" : "reload",
30
- credentials: "omit",
29
+ cache: settings.nocache === "" ? "no-cache" : "reload",
30
+ credentials: settings.withCredentials === true ? "include" : "omit",
31
31
  // see setting.crossorigin, "anonymous" is used for cross-origin requests
32
- mode: "no-cors"
32
+ mode: settings.crossOrigin === "anonymous" ? "cors" : "no-cors"
33
33
  })
34
34
  .then(response => {
35
35
  if (!response.ok) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -14,6 +14,7 @@ import { getExtension } from '../../utils/file.js';
14
14
  * @param {loader.Asset} img
15
15
  * @param {Function} [onload] - function to be called when the resource is loaded
16
16
  * @param {Function} [onerror] - function to be called in case of error
17
+ * @param {Object} [settings] - Additional settings to be passed when loading the asset
17
18
  * @returns {number} the amount of corresponding resource parsed/preloaded
18
19
  * @ignore
19
20
  * @example
@@ -24,7 +25,7 @@ import { getExtension } from '../../utils/file.js';
24
25
  * { name : 'image4', src : 'images/image4.png'}
25
26
  * ]);
26
27
  */
27
- function preloadImage(img, onload, onerror) {
28
+ function preloadImage(img, onload, onerror, settings) {
28
29
  if (typeof imgList[img.name] !== "undefined") {
29
30
  // already loaded
30
31
  return 0;
@@ -33,7 +34,7 @@ function preloadImage(img, onload, onerror) {
33
34
  // handle SVG file loading
34
35
  if (getExtension(img.src) === "svg") {
35
36
  // handle SVG file
36
- fetchData(img.src, "text")
37
+ fetchData(img.src, "text", settings)
37
38
  .then(svgText => {
38
39
  const svgImage = new Image();
39
40
  svgImage.onload = function() {
@@ -57,7 +58,7 @@ function preloadImage(img, onload, onerror) {
57
58
  });
58
59
  } else {
59
60
  // handle all other image files
60
- fetchData(img.src, "blob")
61
+ fetchData(img.src, "blob", settings)
61
62
  .then(blob => {
62
63
  globalThis.createImageBitmap(blob)
63
64
  .then((bitmap) => {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -11,18 +11,19 @@ import { fetchData } from './fetchdata.js';
11
11
  /**
12
12
  * parse/preload a JSON files
13
13
  * @param {loader.Asset} data - asset data
14
- * @param {Function} [onload] - function to be called when the asset is loaded
14
+ * @param {Function} [onload] - function to be called when the resource is loaded
15
15
  * @param {Function} [onerror] - function to be called in case of error
16
+ * @param {Object} [settings] - Additional settings to be passed when loading the asset
16
17
  * @returns {number} the amount of corresponding resource parsed/preloaded
17
18
  * @ignore
18
19
  */
19
- function preloadJSON(data, onload, onerror) {
20
+ function preloadJSON(data, onload, onerror, settings) {
20
21
  if (typeof jsonList[data.name] !== "undefined") {
21
22
  // already loaded
22
23
  return 0;
23
24
  }
24
25
 
25
- fetchData(data.src, "json")
26
+ fetchData(data.src, "json", settings)
26
27
  .then(response => {
27
28
  jsonList[data.name] = response;
28
29
  if (typeof onload === "function") {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -8,16 +8,20 @@
8
8
  /**
9
9
  * parse/preload a Javascript files
10
10
  * @param {loader.Asset} data - asset data
11
- * @param {Function} [onload] - function to be called when the asset is loaded
11
+ * @param {Function} [onload] - function to be called when the resource is loaded
12
12
  * @param {Function} [onerror] - function to be called in case of error
13
+ * @param {Object} [settings] - Additional settings to be passed when loading the asset
13
14
  * @returns {number} the amount of corresponding resource parsed/preloaded
14
15
  * @ignore
15
16
  */
16
- function preloadJavascript(data, onload, onerror) {
17
+ function preloadJavascript(data, onload, onerror, settings) {
17
18
  let script = globalThis.document.createElement("script");
18
19
 
19
20
  script.src = data.src;
20
21
  script.type = "text/javascript";
22
+ if (typeof (crossOrigin) === "string") {
23
+ script.crossOrigin = settings.crossOrigin;
24
+ }
21
25
  script.defer = true;
22
26
 
23
27
  if (typeof onload === "function") {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -15,12 +15,13 @@ import { fetchData } from './fetchdata.js';
15
15
  * parse/preload a TMX file
16
16
  * @param {loader.Asset} data - asset data
17
17
  * @param {Function} [onload] - function to be called when the asset is loaded
18
+ * @param {Function} [onload] - function to be called when the resource is loaded
18
19
  * @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
+ * @param {Object} [settings] - Additional settings to be passed when loading the asset
20
21
  * @returns {number} the amount of corresponding resource parsed/preloaded
21
22
  * @ignore
22
23
  */
23
- function preloadTMX(tmxData, onload, onerror) {
24
+ function preloadTMX(tmxData, onload, onerror, settings) {
24
25
  if (typeof tmxList[tmxData.name] !== "undefined") {
25
26
  // already loaded
26
27
  return 0;
@@ -48,7 +49,7 @@ function preloadTMX(tmxData, onload, onerror) {
48
49
  return;
49
50
  }
50
51
 
51
- fetchData(tmxData.src, "text")
52
+ fetchData(tmxData.src, "text", settings)
52
53
  .then(response => {
53
54
  if (typeof response !== "string") {
54
55
  throw new Error("Invalid response type");
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -9,25 +9,25 @@ import { videoList } from '../cache.js';
9
9
  import { fetchData } from './fetchdata.js';
10
10
  import { hasVideoFormat } from '../../system/device.js';
11
11
  import { getExtension } from '../../utils/file.js';
12
- import { crossOrigin } from '../settings.js';
13
12
  import { isDataUrl } from '../../utils/string.js';
14
13
 
15
14
  /**
16
15
  * parse/preload a Video file
17
16
  * @param {loader.Asset} data - asset data
18
- * @param {Function} [onload] - function to be called when the asset is loaded
17
+ * @param {Function} [onload] - function to be called when the resource is loaded
19
18
  * @param {Function} [onerror] - function to be called in case of error
19
+ * @param {Object} [settings] - Additional settings to be passed when loading the asset
20
20
  * @returns {number} the amount of corresponding resource parsed/preloaded
21
21
  * @ignore
22
22
  */
23
- function preloadVideo(data, onload, onerror) {
23
+ function preloadVideo(data, onload, onerror, settings) {
24
24
 
25
25
  if (typeof videoList[data.name] !== "undefined") {
26
26
  // Video already preloaded
27
27
  return 0;
28
28
  }
29
29
 
30
- let videoElement = videoList[data.name] = document.createElement("video");
30
+ let videoElement = videoList[data.name] = globalThis.document.createElement("video");
31
31
 
32
32
  if (isDataUrl(data.src)) {
33
33
  const mimeType = data.src.match(/[^:]\w+\/[\w-+\d.]+(?=;|,)/)[0];
@@ -41,7 +41,7 @@ function preloadVideo(data, onload, onerror) {
41
41
  }
42
42
 
43
43
  if (isDataUrl(data.src)) {
44
- fetchData(data.src, "blob")
44
+ fetchData(data.src, "blob", settings)
45
45
  .then(blob => {
46
46
  videoElement.src = globalThis.URL.createObjectURL(blob);
47
47
  })
@@ -59,7 +59,7 @@ function preloadVideo(data, onload, onerror) {
59
59
  videoElement.setAttribute("playsinline", "true");
60
60
  videoElement.setAttribute("disablePictureInPicture", "true");
61
61
  videoElement.setAttribute("controls", "false");
62
- videoElement.setAttribute("crossorigin", crossOrigin);
62
+ videoElement.setAttribute("crossorigin", settings.crossOrigin);
63
63
 
64
64
  if (data.autoplay === true) {
65
65
  videoElement.setAttribute("autoplay", "true");
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -12,54 +12,42 @@
12
12
 
13
13
  /**
14
14
  * constant to convert from degrees to radians
15
- * @public
16
15
  * @type {number}
17
- * @name DEG_TO_RAD
18
16
  * @memberof Math
19
17
  */
20
18
  const DEG_TO_RAD = Math.PI / 180.0;
21
19
 
22
20
  /**
23
21
  * constant to convert from radians to degrees
24
- * @public
25
22
  * @type {number}
26
- * @name RAD_TO_DEG
27
23
  * @memberof Math
28
24
  */
29
25
  const RAD_TO_DEG = 180.0 / Math.PI;
30
26
 
31
27
  /**
32
28
  * constant equals to 2 times pi
33
- * @public
34
29
  * @type {number}
35
- * @name TAU
36
30
  * @memberof Math
37
31
  */
38
32
  const TAU = Math.PI * 2;
39
33
 
40
34
  /**
41
35
  * constant equals to half pi
42
- * @public
43
36
  * @type {number}
44
- * @name ETA
45
37
  * @memberof Math
46
38
  */
47
39
  const ETA = Math.PI * 0.5;
48
40
 
49
41
  /**
50
42
  * the difference between 1 and the smallest floating point number greater than 1
51
- * @public
52
43
  * @type {number}
53
- * @name EPSILON
54
44
  * @memberof Math
55
45
  */
56
46
  const EPSILON = 0.000001;
57
47
 
58
48
  /**
59
49
  * returns true if the given value is a power of two
60
- * @public
61
50
  * @memberof Math
62
- * @name isPowerOfTwo
63
51
  * @param {number} val
64
52
  * @returns {boolean}
65
53
  */
@@ -69,9 +57,7 @@ function isPowerOfTwo(val) {
69
57
 
70
58
  /**
71
59
  * returns the next power of two for the given value
72
- * @public
73
60
  * @memberof Math
74
- * @name nextPowerOfTwo
75
61
  * @param {number} val
76
62
  * @returns {boolean}
77
63
  */
@@ -88,9 +74,7 @@ function nextPowerOfTwo(val) {
88
74
 
89
75
  /**
90
76
  * Converts an angle in degrees to an angle in radians
91
- * @public
92
77
  * @memberof Math
93
- * @name degToRad
94
78
  * @param {number} angle - angle in degrees
95
79
  * @returns {number} corresponding angle in radians
96
80
  * @example
@@ -103,9 +87,7 @@ function degToRad(angle) {
103
87
 
104
88
  /**
105
89
  * Converts an angle in radians to an angle in degrees.
106
- * @public
107
90
  * @memberof Math
108
- * @name radToDeg
109
91
  * @param {number} radians - angle in radians
110
92
  * @returns {number} corresponding angle in degrees
111
93
  * @example
@@ -118,9 +100,7 @@ function radToDeg(radians) {
118
100
 
119
101
  /**
120
102
  * clamp the given value
121
- * @public
122
103
  * @memberof Math
123
- * @name clamp
124
104
  * @param {number} val - the value to clamp
125
105
  * @param {number} low - lower limit
126
106
  * @param {number} high - higher limit
@@ -132,9 +112,7 @@ function clamp(val, low, high) {
132
112
 
133
113
  /**
134
114
  * return a random integer between min (included) and max (excluded)
135
- * @public
136
115
  * @memberof Math
137
- * @name random
138
116
  * @param {number} min - minimum value.
139
117
  * @param {number} max - maximum value.
140
118
  * @returns {number} random value
@@ -148,9 +126,7 @@ function random(min, max) {
148
126
 
149
127
  /**
150
128
  * return a random float between min, max (exclusive)
151
- * @public
152
129
  * @memberof Math
153
- * @name randomFloat
154
130
  * @param {number} min - minimum value.
155
131
  * @param {number} max - maximum value.
156
132
  * @returns {number} random value
@@ -164,9 +140,7 @@ function randomFloat(min, max) {
164
140
 
165
141
  /**
166
142
  * return a weighted random between min, max (exclusive)
167
- * @public
168
143
  * @memberof Math
169
- * @name weightedRandom
170
144
  * @param {number} min - minimum value.
171
145
  * @param {number} max - maximum value.
172
146
  * @returns {number} random value
@@ -180,9 +154,7 @@ function weightedRandom(min, max) {
180
154
 
181
155
  /**
182
156
  * round a value to the specified number of digit
183
- * @public
184
157
  * @memberof Math
185
- * @name round
186
158
  * @param {number} num - value to be rounded.
187
159
  * @param {number} [dec=0] - number of decimal digit to be rounded to.
188
160
  * @returns {number} rounded value
@@ -198,9 +170,7 @@ function round(num, dec = 0) {
198
170
 
199
171
  /**
200
172
  * check if the given value is close to the expected one
201
- * @public
202
173
  * @memberof Math
203
- * @name toBeCloseTo
204
174
  * @param {number} expected - value to be compared with.
205
175
  * @param {number} actual - actual value to compare
206
176
  * @param {number} [precision=2] - float precision for the comparison
@@ -218,6 +188,7 @@ function toBeCloseTo(expected, actual, precision = 2) {
218
188
 
219
189
  /**
220
190
  * Calculates the power of a number.
191
+ * @memberof Math
221
192
  * @param {number} n - The number to be raised to the power of 2.
222
193
  * @returns {number} The result of raising the number to the power of 2.
223
194
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v16.1.3
2
+ * melonJS Game Engine - v17.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