melonjs 15.2.0 → 15.2.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 (144) hide show
  1. package/README.md +4 -4
  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/application/application.js +1 -1
  7. package/dist/melonjs.mjs/application/header.js +1 -1
  8. package/dist/melonjs.mjs/application/resize.js +1 -1
  9. package/dist/melonjs.mjs/application/settings.js +1 -1
  10. package/dist/melonjs.mjs/audio/audio.js +1 -1
  11. package/dist/melonjs.mjs/camera/camera2d.js +1 -1
  12. package/dist/melonjs.mjs/const.js +1 -1
  13. package/dist/melonjs.mjs/entity/entity.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/index.js +4 -2
  22. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  23. package/dist/melonjs.mjs/input/input.js +1 -1
  24. package/dist/melonjs.mjs/input/keyboard.js +1 -1
  25. package/dist/melonjs.mjs/input/pointer.js +1 -1
  26. package/dist/melonjs.mjs/input/pointerevent.js +1 -1
  27. package/dist/melonjs.mjs/lang/console.js +1 -1
  28. package/dist/melonjs.mjs/lang/deprecated.js +1 -1
  29. package/dist/melonjs.mjs/level/level.js +1 -1
  30. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  31. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -1
  32. package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
  33. package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
  34. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +1 -1
  35. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
  36. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
  37. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +124 -90
  38. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  44. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  45. package/dist/melonjs.mjs/loader/cache.js +1 -1
  46. package/dist/melonjs.mjs/loader/loader.js +1 -1
  47. package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
  48. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  49. package/dist/melonjs.mjs/loader/parser.js +1 -1
  50. package/dist/melonjs.mjs/loader/settings.js +1 -1
  51. package/dist/melonjs.mjs/math/color.js +1 -1
  52. package/dist/melonjs.mjs/math/math.js +1 -1
  53. package/dist/melonjs.mjs/math/matrix2.js +1 -1
  54. package/dist/melonjs.mjs/math/matrix3.js +1 -1
  55. package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
  56. package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
  57. package/dist/melonjs.mjs/math/vector2.js +1 -1
  58. package/dist/melonjs.mjs/math/vector3.js +1 -1
  59. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
  60. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
  61. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  62. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  63. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  64. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  65. package/dist/melonjs.mjs/particles/emitter.js +1 -1
  66. package/dist/melonjs.mjs/particles/particle.js +1 -1
  67. package/dist/melonjs.mjs/particles/settings.js +1 -1
  68. package/dist/melonjs.mjs/physics/body.js +1 -1
  69. package/dist/melonjs.mjs/physics/bounds.js +1 -1
  70. package/dist/melonjs.mjs/physics/collision.js +1 -1
  71. package/dist/melonjs.mjs/physics/detector.js +1 -1
  72. package/dist/melonjs.mjs/physics/quadtree.js +1 -1
  73. package/dist/melonjs.mjs/physics/response.js +1 -1
  74. package/dist/melonjs.mjs/physics/sat.js +1 -1
  75. package/dist/melonjs.mjs/physics/world.js +1 -1
  76. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  77. package/dist/melonjs.mjs/renderable/collectable.js +1 -1
  78. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  79. package/dist/melonjs.mjs/renderable/container.js +1 -1
  80. package/dist/melonjs.mjs/renderable/draggable.js +1 -1
  81. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  82. package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
  83. package/dist/melonjs.mjs/renderable/light2d.js +1 -1
  84. package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
  85. package/dist/melonjs.mjs/renderable/renderable.js +1 -1
  86. package/dist/melonjs.mjs/renderable/sprite.js +1 -1
  87. package/dist/melonjs.mjs/renderable/trigger.js +1 -1
  88. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
  89. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
  90. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
  91. package/dist/melonjs.mjs/state/stage.js +1 -1
  92. package/dist/melonjs.mjs/state/state.js +1 -1
  93. package/dist/melonjs.mjs/system/device.js +1 -1
  94. package/dist/melonjs.mjs/system/dom.js +1 -1
  95. package/dist/melonjs.mjs/system/event.js +1 -1
  96. package/dist/melonjs.mjs/system/platform.js +1 -1
  97. package/dist/melonjs.mjs/system/pooling.js +1 -1
  98. package/dist/melonjs.mjs/system/save.js +1 -1
  99. package/dist/melonjs.mjs/system/timer.js +1 -1
  100. package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
  101. package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
  102. package/dist/melonjs.mjs/text/glyph.js +1 -1
  103. package/dist/melonjs.mjs/text/text.js +1 -1
  104. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  105. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  106. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  107. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  108. package/dist/melonjs.mjs/tweens/tween.js +1 -1
  109. package/dist/melonjs.mjs/utils/agent.js +1 -1
  110. package/dist/melonjs.mjs/utils/array.js +1 -1
  111. package/dist/melonjs.mjs/utils/file.js +1 -1
  112. package/dist/melonjs.mjs/utils/function.js +1 -1
  113. package/dist/melonjs.mjs/utils/string.js +1 -1
  114. package/dist/melonjs.mjs/utils/utils.js +1 -1
  115. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -1
  116. package/dist/melonjs.mjs/video/renderer.js +1 -1
  117. package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
  118. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  119. package/dist/melonjs.mjs/video/texture/canvas_texture.js +1 -1
  120. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  121. package/dist/melonjs.mjs/video/video.js +3 -29
  122. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
  123. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
  124. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
  125. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +1 -1
  126. package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
  127. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  128. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  129. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  130. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  131. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  132. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  133. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  134. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  136. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +1 -1
  137. package/dist/melonjs.module.js +142 -128
  138. package/dist/types/index.d.ts +2 -1
  139. package/dist/types/level/tiled/TMXUtils.d.ts +19 -36
  140. package/dist/types/video/video.d.ts +1 -21
  141. package/package.json +3 -3
  142. package/src/index.js +2 -0
  143. package/src/level/tiled/TMXUtils.js +123 -92
  144. package/src/video/video.js +3 -5
package/README.md CHANGED
@@ -167,15 +167,15 @@ melonJS 2 now only provides an ES6 Bundle :
167
167
 
168
168
  >Note: if you need your application to be compatible with ES5, refer to our [boilerplate](#using-melonjs) that provides automatic transpiling to ES5.
169
169
 
170
- Alternatively, the latest version of melonJS can be installed through [NPM](https://www.npmjs.com/package/melonjs) :
170
+ The latest version of melonJS can be installed through [NPM](https://www.npmjs.com/package/melonjs) :
171
171
 
172
172
  $ npm install melonjs
173
173
 
174
- If you need to import the ES6 module of melonjs (e.g. for Webpack):
174
+ And then import melonjs in your project using :
175
175
 
176
- $ import * as me from 'melonjs/dist/melonjs.module.js';
176
+ $ import * as me from 'melonjs';
177
177
 
178
- Or can simply be added to your html, using [jsDeliver](https://www.jsdelivr.com/package/npm/melonjs) content delivery network (CDN) :
178
+ Or it can simply be added to your html, using [jsDeliver](https://www.jsdelivr.com/package/npm/melonjs) content delivery network (CDN) :
179
179
 
180
180
  ```html
181
181
  <!-- load the ES6 module bundle of melonJS v10.0 -->
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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,6 +57,8 @@ export { default as TMXTileset } from './level/tiled/TMXTileset.js';
57
57
  export { default as TMXTilesetGroup } from './level/tiled/TMXTilesetGroup.js';
58
58
  export { default as TMXTileMap } from './level/tiled/TMXTileMap.js';
59
59
  export { default as TMXLayer } from './level/tiled/TMXLayer.js';
60
+ import * as TMXUtils from './level/tiled/TMXUtils.js';
61
+ export { TMXUtils };
60
62
  export { default as Pointer } from './input/pointer.js';
61
63
  export { default as Stage } from './state/stage.js';
62
64
  export { default as Camera2d } from './camera/camera2d.js';
@@ -110,7 +112,7 @@ import { initKeyboardEvent } from './input/keyboard.js';
110
112
  * @name version
111
113
  * @type {string}
112
114
  */
113
- const version = "15.2.0";
115
+ const version = "15.2.1";
114
116
 
115
117
  /**
116
118
  * a flag indicating that melonJS is fully initialized
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -7,6 +7,18 @@
7
7
  */
8
8
  import { isBoolean, isNumeric } from '../../utils/string.js';
9
9
 
10
+ /**
11
+ * a collection of utility functions for parsing TMX maps
12
+ * @namespace TMXUtils
13
+ */
14
+
15
+
16
+ /**
17
+ * the function used to decompress zlib/gzip data
18
+ * @ignore
19
+ */
20
+ let inflateFunction;
21
+
10
22
  /**
11
23
  * set and interpret a TMX property value
12
24
  * @ignore
@@ -102,92 +114,6 @@ function parseAttributes(obj, elt) {
102
114
  }
103
115
  }
104
116
 
105
- /**
106
- * decompress and decode zlib/gzip data
107
- * @ignore
108
- * @name decompress
109
- * @param {string} input - Base64 encoded and compressed data
110
- * @param {string} format - compressed data format ("gzip","zlib", "zstd")
111
- * @returns {Uint32Array} Decoded and decompress data
112
- */
113
- function decompress(data, format) {
114
- {
115
- throw new Error("GZIP/ZLIB compressed TMX Tile Map not supported!");
116
- }
117
- }
118
-
119
- /**
120
- * Decode a CSV encoded array into a binary array
121
- * @ignore
122
- * @name decodeCSV
123
- * @param {string} input- - CSV formatted data (only numbers, everything else will be converted to NaN)
124
- * @returns {number[]} Decoded data
125
- */
126
- function decodeCSV(input) {
127
- let entries = input.replace("\n", "").trim().split(",");
128
-
129
- let result = [];
130
- for (let i = 0; i < entries.length; i++) {
131
- result.push(+entries[i]);
132
- }
133
- return result;
134
- }
135
-
136
- /**
137
- * Decode a base64 encoded string into a byte array
138
- * @ignore
139
- * @name decodeBase64AsArray
140
- * @param {string} input - Base64 encoded data
141
- * @param {number} [bytes] - number of bytes per array entry
142
- * @returns {Uint32Array} Decoded data
143
- */
144
- function decodeBase64AsArray(input, bytes) {
145
- bytes = bytes || 1;
146
-
147
- let i, j, len;
148
- let dec = globalThis.atob(input.replace(/[^A-Za-z0-9\+\/\=]/g, ""));
149
- let ar = new Uint32Array(dec.length / bytes);
150
-
151
- for (i = 0, len = dec.length / bytes; i < len; i++) {
152
- ar[i] = 0;
153
- for (j = bytes - 1; j >= 0; --j) {
154
- ar[i] += dec.charCodeAt((i * bytes) + j) << (j << 3);
155
- }
156
- }
157
- return ar;
158
- }
159
-
160
- /**
161
- * Decode the given data
162
- * @ignore
163
- */
164
- function decode(data, encoding, compression) {
165
- compression = compression || "none";
166
- encoding = encoding || "none";
167
-
168
- switch (encoding) {
169
- case "csv":
170
- return decodeCSV(data);
171
-
172
- case "base64":
173
- if (compression !== "none") {
174
- data = decompress();
175
- } else {
176
- data = decodeBase64AsArray(data, 4);
177
- }
178
- return data;
179
-
180
- case "none":
181
- return data;
182
-
183
- case "xml":
184
- throw new Error("XML encoding is deprecated, use base64 instead");
185
-
186
- default:
187
- throw new Error("Unknown layer encoding: " + encoding);
188
- }
189
- }
190
-
191
117
  /**
192
118
  * Normalize TMX format to Tiled JSON format
193
119
  * @ignore
@@ -320,9 +246,113 @@ function normalize(obj, item) {
320
246
  }
321
247
  }
322
248
 
249
+
250
+ /**
251
+ * decompress and decode zlib/gzip data
252
+ * @name decompress
253
+ * @memberOf TMXUtils
254
+ * @param {string} input - Base64 encoded and compressed data
255
+ * @param {string} format - compressed data format ("gzip","zlib", "zstd")
256
+ * @returns {Uint32Array} Decoded and decompress data
257
+ */
258
+ function decompress(data, format) {
259
+ if (typeof inflateFunction === "function") {
260
+ return inflateFunction(data, format);
261
+ } else {
262
+ throw new Error("GZIP/ZLIB compressed TMX Tile Map not supported!");
263
+ }
264
+ }
265
+
266
+ /**
267
+ * Decode a CSV encoded array into a binary array
268
+ * @name decodeCSV
269
+ * @memberOf TMXUtils
270
+ * @param {string} input- - CSV formatted data (only numbers, everything else will be converted to NaN)
271
+ * @returns {number[]} Decoded data
272
+ */
273
+ function decodeCSV(input) {
274
+ let entries = input.replace("\n", "").trim().split(",");
275
+
276
+ let result = [];
277
+ for (let i = 0; i < entries.length; i++) {
278
+ result.push(+entries[i]);
279
+ }
280
+ return result;
281
+ }
282
+
283
+ /**
284
+ * Decode a base64 encoded string into a byte array
285
+ * @name decodeBase64AsArray
286
+ * @memberOf TMXUtils
287
+ * @param {string} input - Base64 encoded data
288
+ * @param {number} [bytes] - number of bytes per array entry
289
+ * @returns {Uint32Array} Decoded data
290
+ */
291
+ function decodeBase64AsArray(input, bytes) {
292
+ bytes = bytes || 1;
293
+
294
+ let i, j, len;
295
+ let dec = globalThis.atob(input.replace(/[^A-Za-z0-9\+\/\=]/g, ""));
296
+ let ar = new Uint32Array(dec.length / bytes);
297
+
298
+ for (i = 0, len = dec.length / bytes; i < len; i++) {
299
+ ar[i] = 0;
300
+ for (j = bytes - 1; j >= 0; --j) {
301
+ ar[i] += dec.charCodeAt((i * bytes) + j) << (j << 3);
302
+ }
303
+ }
304
+ return ar;
305
+ }
306
+
307
+ /**
308
+ * set the function used to inflate gzip/zlib data
309
+ * @param {Func} fn - inflate function
310
+ */
311
+ function setInflateFunction(fn) {
312
+ inflateFunction = fn;
313
+ }
314
+
315
+ /**
316
+ * Decode a encoded array into a binary array
317
+ * @name decodeCSV
318
+ * @memberOf TMXUtils
319
+ * @param {string} data - data to be decoded
320
+ * @param {string} [encoding="none"] - data encoding ("csv", "base64", "xml")
321
+ * @returns {number[]} Decoded data
322
+ */
323
+ function decode(data, encoding, compression) {
324
+ compression = compression || "none";
325
+ encoding = encoding || "none";
326
+
327
+ switch (encoding) {
328
+ case "csv":
329
+ return decodeCSV(data);
330
+
331
+ case "base64":
332
+ if (compression !== "none") {
333
+ data = decompress(data, compression);
334
+ } else {
335
+ data = decodeBase64AsArray(data, 4);
336
+ }
337
+ return data;
338
+
339
+ case "none":
340
+ return data;
341
+
342
+ case "xml":
343
+ throw new Error("XML encoding is deprecated, use base64 instead");
344
+
345
+ default:
346
+ throw new Error("Unknown layer encoding: " + encoding);
347
+ }
348
+ }
349
+
323
350
  /**
324
351
  * Parse a XML TMX object and returns the corresponding javascript object
325
- * @ignore
352
+ * @name parse
353
+ * @memberOf TMXUtils
354
+ * @param {Document} xml - XML TMX object
355
+ * @returns {object} Javascript object
326
356
  */
327
357
  function parse(xml) {
328
358
  // Create the return object
@@ -360,7 +390,11 @@ function parse(xml) {
360
390
 
361
391
  /**
362
392
  * Apply TMX Properties to the given object
363
- * @ignore
393
+ * @name applyTMXProperties
394
+ * @memberOf TMXUtils
395
+ * @param {object} obj - object to apply the properties to
396
+ * @param {object} data - TMX data object
397
+ * @returns {object} obj
364
398
  */
365
399
  function applyTMXProperties(obj, data) {
366
400
  let properties = data.properties;
@@ -390,4 +424,4 @@ function applyTMXProperties(obj, data) {
390
424
  }
391
425
  }
392
426
 
393
- export { applyTMXProperties, decode, decodeBase64AsArray, decodeCSV, decompress, normalize, parse };
427
+ export { applyTMXProperties, decode, parse, setInflateFunction };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.0
2
+ * melonJS Game Engine - v15.2.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