melonjs 14.3.0 → 14.4.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 (260) hide show
  1. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +2 -2
  2. package/dist/melonjs.mjs/_virtual/arraymultimap.js +2 -2
  3. package/dist/melonjs.mjs/_virtual/earcut.js +2 -2
  4. package/dist/melonjs.mjs/_virtual/howler.js +2 -2
  5. package/dist/melonjs.mjs/_virtual/index.js +2 -2
  6. package/dist/melonjs.mjs/_virtual/index2.js +2 -2
  7. package/dist/melonjs.mjs/_virtual/multimap.js +2 -2
  8. package/dist/melonjs.mjs/_virtual/setmultimap.js +2 -2
  9. package/dist/melonjs.mjs/application/application.js +8 -21
  10. package/dist/melonjs.mjs/application/header.js +2 -2
  11. package/dist/melonjs.mjs/application/resize.js +4 -2
  12. package/dist/melonjs.mjs/application/settings.js +2 -2
  13. package/dist/melonjs.mjs/audio/audio.js +2 -2
  14. package/dist/melonjs.mjs/camera/camera2d.js +2 -2
  15. package/dist/melonjs.mjs/const.js +32 -0
  16. package/dist/melonjs.mjs/entity/entity.js +2 -2
  17. package/dist/melonjs.mjs/geometries/ellipse.js +2 -2
  18. package/dist/melonjs.mjs/geometries/line.js +2 -2
  19. package/dist/melonjs.mjs/geometries/path2d.js +2 -2
  20. package/dist/melonjs.mjs/geometries/point.js +2 -2
  21. package/dist/melonjs.mjs/geometries/poly.js +2 -2
  22. package/dist/melonjs.mjs/geometries/rectangle.js +2 -2
  23. package/dist/melonjs.mjs/geometries/roundrect.js +2 -2
  24. package/dist/melonjs.mjs/index.js +5 -5
  25. package/dist/melonjs.mjs/input/gamepad.js +2 -2
  26. package/dist/melonjs.mjs/input/input.js +2 -2
  27. package/dist/melonjs.mjs/input/keyboard.js +2 -2
  28. package/dist/melonjs.mjs/input/pointer.js +2 -2
  29. package/dist/melonjs.mjs/input/pointerevent.js +2 -2
  30. package/dist/melonjs.mjs/lang/console.js +44 -0
  31. package/dist/melonjs.mjs/lang/deprecated.js +4 -40
  32. package/dist/melonjs.mjs/level/level.js +2 -2
  33. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +2 -23
  34. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +67 -57
  35. package/dist/melonjs.mjs/level/tiled/TMXObject.js +2 -64
  36. package/dist/melonjs.mjs/level/tiled/TMXTile.js +10 -26
  37. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +17 -83
  38. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +2 -16
  39. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -10
  40. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +37 -14
  41. package/dist/melonjs.mjs/level/tiled/constants.js +17 -0
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +7 -8
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +3 -6
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
  45. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -14
  46. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
  47. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +38 -0
  48. package/dist/melonjs.mjs/loader/loader.js +5 -3
  49. package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
  50. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +2 -2
  51. package/dist/melonjs.mjs/math/color.js +2 -2
  52. package/dist/melonjs.mjs/math/math.js +2 -2
  53. package/dist/melonjs.mjs/math/matrix2.js +2 -2
  54. package/dist/melonjs.mjs/math/matrix3.js +2 -2
  55. package/dist/melonjs.mjs/math/observable_vector2.js +2 -2
  56. package/dist/melonjs.mjs/math/observable_vector3.js +2 -2
  57. package/dist/melonjs.mjs/math/vector2.js +2 -2
  58. package/dist/melonjs.mjs/math/vector3.js +2 -2
  59. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +2 -2
  60. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +2 -2
  61. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +2 -2
  62. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +2 -2
  63. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +2 -2
  64. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
  65. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +2 -2
  66. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +2 -2
  67. package/dist/melonjs.mjs/particles/emitter.js +2 -2
  68. package/dist/melonjs.mjs/particles/particle.js +2 -2
  69. package/dist/melonjs.mjs/particles/settings.js +2 -2
  70. package/dist/melonjs.mjs/physics/body.js +2 -2
  71. package/dist/melonjs.mjs/physics/bounds.js +2 -2
  72. package/dist/melonjs.mjs/physics/collision.js +3 -3
  73. package/dist/melonjs.mjs/physics/detector.js +2 -2
  74. package/dist/melonjs.mjs/physics/quadtree.js +2 -2
  75. package/dist/melonjs.mjs/physics/response.js +2 -2
  76. package/dist/melonjs.mjs/physics/sat.js +2 -2
  77. package/dist/melonjs.mjs/physics/world.js +2 -2
  78. package/dist/melonjs.mjs/plugin/plugin.js +4 -4
  79. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  80. package/dist/melonjs.mjs/renderable/colorlayer.js +2 -2
  81. package/dist/melonjs.mjs/renderable/container.js +2 -2
  82. package/dist/melonjs.mjs/renderable/dragndrop.js +2 -2
  83. package/dist/melonjs.mjs/renderable/imagelayer.js +2 -2
  84. package/dist/melonjs.mjs/renderable/light2d.js +2 -2
  85. package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
  86. package/dist/melonjs.mjs/renderable/renderable.js +2 -2
  87. package/dist/melonjs.mjs/renderable/sprite.js +2 -2
  88. package/dist/melonjs.mjs/renderable/trigger.js +2 -2
  89. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +2 -2
  90. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +2 -2
  91. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +2 -2
  92. package/dist/melonjs.mjs/state/stage.js +2 -2
  93. package/dist/melonjs.mjs/state/state.js +2 -2
  94. package/dist/melonjs.mjs/system/device.js +2 -2
  95. package/dist/melonjs.mjs/system/dom.js +2 -2
  96. package/dist/melonjs.mjs/system/event.js +2 -2
  97. package/dist/melonjs.mjs/system/platform.js +2 -2
  98. package/dist/melonjs.mjs/system/pooling.js +2 -2
  99. package/dist/melonjs.mjs/system/save.js +2 -2
  100. package/dist/melonjs.mjs/system/timer.js +2 -2
  101. package/dist/melonjs.mjs/text/bitmaptext.js +2 -2
  102. package/dist/melonjs.mjs/text/bitmaptextdata.js +2 -2
  103. package/dist/melonjs.mjs/text/glyph.js +2 -2
  104. package/dist/melonjs.mjs/text/text.js +2 -2
  105. package/dist/melonjs.mjs/text/textmetrics.js +2 -2
  106. package/dist/melonjs.mjs/text/textstyle.js +2 -2
  107. package/dist/melonjs.mjs/tweens/easing.js +2 -2
  108. package/dist/melonjs.mjs/tweens/interpolation.js +2 -2
  109. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  110. package/dist/melonjs.mjs/utils/agent.js +2 -2
  111. package/dist/melonjs.mjs/utils/array.js +2 -2
  112. package/dist/melonjs.mjs/utils/file.js +2 -2
  113. package/dist/melonjs.mjs/utils/function.js +2 -2
  114. package/dist/melonjs.mjs/utils/string.js +2 -2
  115. package/dist/melonjs.mjs/utils/utils.js +2 -2
  116. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +2 -2
  117. package/dist/melonjs.mjs/video/renderer.js +2 -2
  118. package/dist/melonjs.mjs/video/texture/atlas.js +2 -2
  119. package/dist/melonjs.mjs/video/texture/cache.js +2 -2
  120. package/dist/melonjs.mjs/video/texture/canvas_texture.js +2 -2
  121. package/dist/melonjs.mjs/video/utils/autodetect.js +2 -2
  122. package/dist/melonjs.mjs/video/video.js +16 -13
  123. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +2 -2
  124. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
  125. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +2 -2
  126. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
  127. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +2 -2
  128. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
  129. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
  130. package/dist/melonjs.mjs/video/webgl/utils/precision.js +2 -2
  131. package/dist/melonjs.mjs/video/webgl/utils/program.js +2 -2
  132. package/dist/melonjs.mjs/video/webgl/utils/string.js +2 -2
  133. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +2 -2
  134. package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +2 -2
  135. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +2 -2
  136. package/dist/melonjs.module.js +2704 -2828
  137. package/dist/types/application/application.d.ts +5 -1
  138. package/dist/types/application/resize.d.ts +1 -0
  139. package/dist/types/const.d.ts +21 -0
  140. package/dist/types/index.d.ts +1 -0
  141. package/dist/types/lang/console.d.ts +7 -0
  142. package/dist/types/lang/deprecated.d.ts +0 -8
  143. package/dist/types/level/tiled/TMXGroup.d.ts +7 -28
  144. package/dist/types/level/tiled/TMXLayer.d.ts +25 -47
  145. package/dist/types/level/tiled/TMXObject.d.ts +20 -82
  146. package/dist/types/level/tiled/TMXTile.d.ts +11 -25
  147. package/dist/types/level/tiled/TMXTileMap.d.ts +18 -56
  148. package/dist/types/level/tiled/TMXTileset.d.ts +7 -21
  149. package/dist/types/level/tiled/TMXTilesetGroup.d.ts +3 -9
  150. package/dist/types/level/tiled/constants.d.ts +5 -0
  151. package/dist/types/level/tiled/renderer/TMXHexagonalRenderer.d.ts +2 -6
  152. package/dist/types/level/tiled/renderer/TMXIsometricRenderer.d.ts +2 -6
  153. package/dist/types/level/tiled/renderer/TMXRenderer.d.ts +6 -18
  154. package/dist/types/level/tiled/renderer/autodetect.d.ts +9 -0
  155. package/dist/types/video/video.d.ts +7 -6
  156. package/package.json +6 -6
  157. package/src/application/application.js +6 -19
  158. package/src/application/resize.js +2 -0
  159. package/src/const.js +23 -0
  160. package/src/index.js +2 -0
  161. package/src/lang/console.js +36 -0
  162. package/src/lang/deprecated.js +2 -37
  163. package/src/level/tiled/TMXGroup.js +0 -21
  164. package/src/level/tiled/TMXLayer.js +65 -55
  165. package/src/level/tiled/TMXObject.js +0 -62
  166. package/src/level/tiled/TMXTile.js +8 -24
  167. package/src/level/tiled/TMXTileMap.js +15 -81
  168. package/src/level/tiled/TMXTileset.js +0 -14
  169. package/src/level/tiled/TMXTilesetGroup.js +1 -9
  170. package/src/level/tiled/TMXUtils.js +38 -15
  171. package/src/level/tiled/constants.js +8 -0
  172. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +5 -6
  173. package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -4
  174. package/src/level/tiled/renderer/TMXRenderer.js +0 -12
  175. package/src/level/tiled/renderer/autodetect.js +29 -0
  176. package/src/loader/loader.js +3 -1
  177. package/src/physics/collision.js +1 -1
  178. package/src/video/video.js +14 -11
  179. package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-end.js +0 -13
  180. package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-start.js +0 -13
  181. package/dist/melonjs.mjs/node_modules/core-js/internals/a-callable.js +0 -22
  182. package/dist/melonjs.mjs/node_modules/core-js/internals/an-object.js +0 -21
  183. package/dist/melonjs.mjs/node_modules/core-js/internals/array-includes.js +0 -45
  184. package/dist/melonjs.mjs/node_modules/core-js/internals/classof-raw.js +0 -19
  185. package/dist/melonjs.mjs/node_modules/core-js/internals/classof.js +0 -43
  186. package/dist/melonjs.mjs/node_modules/core-js/internals/copy-constructor-properties.js +0 -32
  187. package/dist/melonjs.mjs/node_modules/core-js/internals/create-non-enumerable-property.js +0 -24
  188. package/dist/melonjs.mjs/node_modules/core-js/internals/create-property-descriptor.js +0 -17
  189. package/dist/melonjs.mjs/node_modules/core-js/internals/define-built-in.js +0 -43
  190. package/dist/melonjs.mjs/node_modules/core-js/internals/define-global-property.js +0 -23
  191. package/dist/melonjs.mjs/node_modules/core-js/internals/descriptors.js +0 -18
  192. package/dist/melonjs.mjs/node_modules/core-js/internals/document-all.js +0 -18
  193. package/dist/melonjs.mjs/node_modules/core-js/internals/document-create-element.js +0 -22
  194. package/dist/melonjs.mjs/node_modules/core-js/internals/engine-user-agent.js +0 -14
  195. package/dist/melonjs.mjs/node_modules/core-js/internals/engine-v8-version.js +0 -39
  196. package/dist/melonjs.mjs/node_modules/core-js/internals/entry-unbind.js +0 -18
  197. package/dist/melonjs.mjs/node_modules/core-js/internals/enum-bug-keys.js +0 -19
  198. package/dist/melonjs.mjs/node_modules/core-js/internals/export.js +0 -72
  199. package/dist/melonjs.mjs/node_modules/core-js/internals/fails.js +0 -16
  200. package/dist/melonjs.mjs/node_modules/core-js/internals/function-bind-native.js +0 -19
  201. package/dist/melonjs.mjs/node_modules/core-js/internals/function-call.js +0 -18
  202. package/dist/melonjs.mjs/node_modules/core-js/internals/function-name.js +0 -29
  203. package/dist/melonjs.mjs/node_modules/core-js/internals/function-uncurry-this.js +0 -22
  204. package/dist/melonjs.mjs/node_modules/core-js/internals/get-built-in.js +0 -22
  205. package/dist/melonjs.mjs/node_modules/core-js/internals/get-method.js +0 -21
  206. package/dist/melonjs.mjs/node_modules/core-js/internals/global.js +0 -25
  207. package/dist/melonjs.mjs/node_modules/core-js/internals/has-own-property.js +0 -23
  208. package/dist/melonjs.mjs/node_modules/core-js/internals/hidden-keys.js +0 -10
  209. package/dist/melonjs.mjs/node_modules/core-js/internals/ie8-dom-define.js +0 -24
  210. package/dist/melonjs.mjs/node_modules/core-js/internals/indexed-object.js +0 -28
  211. package/dist/melonjs.mjs/node_modules/core-js/internals/inspect-source.js +0 -27
  212. package/dist/melonjs.mjs/node_modules/core-js/internals/internal-state.js +0 -88
  213. package/dist/melonjs.mjs/node_modules/core-js/internals/is-callable.js +0 -22
  214. package/dist/melonjs.mjs/node_modules/core-js/internals/is-forced.js +0 -34
  215. package/dist/melonjs.mjs/node_modules/core-js/internals/is-null-or-undefined.js +0 -14
  216. package/dist/melonjs.mjs/node_modules/core-js/internals/is-object.js +0 -22
  217. package/dist/melonjs.mjs/node_modules/core-js/internals/is-symbol.js +0 -27
  218. package/dist/melonjs.mjs/node_modules/core-js/internals/length-of-array-like.js +0 -18
  219. package/dist/melonjs.mjs/node_modules/core-js/internals/make-built-in.js +0 -68
  220. package/dist/melonjs.mjs/node_modules/core-js/internals/math-trunc.js +0 -19
  221. package/dist/melonjs.mjs/node_modules/core-js/internals/object-define-property.js +0 -58
  222. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +0 -41
  223. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-names.js +0 -23
  224. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-symbols.js +0 -12
  225. package/dist/melonjs.mjs/node_modules/core-js/internals/object-is-prototype-of.js +0 -14
  226. package/dist/melonjs.mjs/node_modules/core-js/internals/object-keys-internal.js +0 -35
  227. package/dist/melonjs.mjs/node_modules/core-js/internals/object-property-is-enumerable.js +0 -23
  228. package/dist/melonjs.mjs/node_modules/core-js/internals/ordinary-to-primitive.js +0 -28
  229. package/dist/melonjs.mjs/node_modules/core-js/internals/own-keys.js +0 -31
  230. package/dist/melonjs.mjs/node_modules/core-js/internals/require-object-coercible.js +0 -21
  231. package/dist/melonjs.mjs/node_modules/core-js/internals/shared-key.js +0 -21
  232. package/dist/melonjs.mjs/node_modules/core-js/internals/shared-store.js +0 -19
  233. package/dist/melonjs.mjs/node_modules/core-js/internals/shared.js +0 -24
  234. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-end.js +0 -22
  235. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-forced.js +0 -28
  236. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-start.js +0 -22
  237. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim.js +0 -45
  238. package/dist/melonjs.mjs/node_modules/core-js/internals/symbol-constructor-detection.js +0 -26
  239. package/dist/melonjs.mjs/node_modules/core-js/internals/to-absolute-index.js +0 -23
  240. package/dist/melonjs.mjs/node_modules/core-js/internals/to-indexed-object.js +0 -19
  241. package/dist/melonjs.mjs/node_modules/core-js/internals/to-integer-or-infinity.js +0 -20
  242. package/dist/melonjs.mjs/node_modules/core-js/internals/to-length.js +0 -20
  243. package/dist/melonjs.mjs/node_modules/core-js/internals/to-object.js +0 -20
  244. package/dist/melonjs.mjs/node_modules/core-js/internals/to-primitive.js +0 -41
  245. package/dist/melonjs.mjs/node_modules/core-js/internals/to-property-key.js +0 -21
  246. package/dist/melonjs.mjs/node_modules/core-js/internals/to-string-tag-support.js +0 -19
  247. package/dist/melonjs.mjs/node_modules/core-js/internals/to-string.js +0 -19
  248. package/dist/melonjs.mjs/node_modules/core-js/internals/try-to-string.js +0 -18
  249. package/dist/melonjs.mjs/node_modules/core-js/internals/uid.js +0 -20
  250. package/dist/melonjs.mjs/node_modules/core-js/internals/use-symbol-as-uid.js +0 -18
  251. package/dist/melonjs.mjs/node_modules/core-js/internals/v8-prototype-define-bug.js +0 -24
  252. package/dist/melonjs.mjs/node_modules/core-js/internals/weak-map-basic-detection.js +0 -18
  253. package/dist/melonjs.mjs/node_modules/core-js/internals/well-known-symbol.js +0 -41
  254. package/dist/melonjs.mjs/node_modules/core-js/internals/whitespaces.js +0 -12
  255. package/dist/melonjs.mjs/node_modules/core-js/modules/es.global-this.js +0 -18
  256. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-end.js +0 -22
  257. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-left.js +0 -19
  258. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-right.js +0 -19
  259. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-start.js +0 -22
  260. package/dist/melonjs.mjs/node_modules/eventemitter3/index.mjs.js +0 -9
@@ -15,66 +15,45 @@ export default class TMXGroup {
15
15
 
16
16
  /**
17
17
  * group name
18
- * @public
19
18
  * @type {string}
20
- * @name name
21
- * @memberof TMXGroup
22
19
  */
23
20
  this.name = data.name;
24
21
 
25
22
  /**
26
23
  * group width
27
- * @public
28
24
  * @type {number}
29
- * @name width
30
- * @memberof TMXGroup
31
25
  */
32
26
  this.width = data.width || 0;
33
27
 
34
28
  /**
35
29
  * group height
36
- * @public
37
30
  * @type {number}
38
- * @name height
39
- * @memberof TMXGroup
40
31
  */
41
32
  this.height = data.height || 0;
42
33
 
43
34
  /**
44
35
  * tint color
45
- * @public
46
36
  * @type {string}
47
- * @name tintcolor
48
- * @memberof TMXGroup
49
37
  */
50
38
  this.tintcolor = data.tintcolor;
51
39
 
52
40
 
53
41
  /**
54
42
  * the group class
55
- * @public
56
43
  * @type {string}
57
- * @name class
58
- * @memberof TMXGroup
59
44
  */
60
45
  this.class = data.class;
61
46
 
62
47
  /**
63
48
  * group z order
64
- * @public
65
49
  * @type {number}
66
- * @name z
67
- * @memberof TMXGroup
68
50
  */
69
51
  this.z = z;
70
52
 
71
53
  /**
72
54
  * group objects list definition
73
55
  * @see TMXObject
74
- * @public
75
56
  * @type {object[]}
76
- * @name name
77
- * @memberof TMXGroup
78
57
  */
79
58
  this.objects = [];
80
59
 
@@ -10,34 +10,43 @@ import { game } from "../../index.js";
10
10
  * Create required arrays for the given layer object
11
11
  * @ignore
12
12
  */
13
- function initArray(layer) {
13
+ function initArray(rows, cols) {
14
14
  // initialize the array
15
- layer.layerData = new Array(layer.cols);
16
- for (var x = 0; x < layer.cols; x++) {
17
- layer.layerData[x] = new Array(layer.rows);
18
- for (var y = 0; y < layer.rows; y++) {
19
- layer.layerData[x][y] = null;
15
+ var array = new Array(cols);
16
+ for (var col = 0; col < cols; col++) {
17
+ array[col] = new Array(rows);
18
+ for (var row = 0; row < rows; row++) {
19
+ array[col][row] = null;
20
20
  }
21
21
  }
22
+ return array;
22
23
  }
23
24
 
24
25
  /**
25
26
  * Set a tiled layer Data
26
27
  * @ignore
27
28
  */
28
- function setLayerData(layer, data) {
29
+ function setLayerData(layer, bounds, data) {
29
30
  var idx = 0;
30
- // initialize the data array
31
- initArray(layer);
31
+ var width, height;
32
+
33
+ // layer provide rows and cols, chunk width and height
34
+ if (typeof bounds.rows === "undefined") {
35
+ width = bounds.width;
36
+ height = bounds.height;
37
+ } else {
38
+ width = bounds.cols;
39
+ height = bounds.rows;
40
+ }
32
41
  // set everything
33
- for (var y = 0; y < layer.rows; y++) {
34
- for (var x = 0; x < layer.cols; x++) {
42
+ for (var y = 0; y < height; y++) {
43
+ for (var x = 0; x < width; x++) {
35
44
  // get the value of the gid
36
45
  var gid = data[idx++];
37
46
  // fill the array
38
47
  if (gid !== 0) {
39
48
  // add a new tile to the layer
40
- layer.layerData[x][y] = layer.getTileById(gid, x, y);
49
+ layer.layerData[x + bounds.x][y + bounds.y] = layer.getTileById(gid, x + bounds.x, y + bounds.y);
41
50
  }
42
51
  }
43
52
  }
@@ -89,11 +98,23 @@ function preRenderLayer(layer, renderer) {
89
98
  // layer orientation
90
99
  this.orientation = orientation;
91
100
 
101
+ /**
102
+ * Horizontal layer offset in tiles
103
+ * @default 0
104
+ * @type {number}
105
+ */
106
+ this.x = 0;
107
+
108
+ /**
109
+ * Vertical layer offset in tiles
110
+ * @default 0
111
+ * @type {number}
112
+ */
113
+ this.y = 0;
114
+
92
115
  /**
93
116
  * The Layer corresponding Tilesets
94
- * @public
95
117
  * @type {TMXTilesetGroup}
96
- * @name TMXLayer#tilesets
97
118
  */
98
119
  this.tilesets = tilesets;
99
120
 
@@ -114,36 +135,27 @@ function preRenderLayer(layer, renderer) {
114
135
 
115
136
  /**
116
137
  * All animated tilesets in this layer
117
- * @ignore
118
138
  * @type {TMXTileset[]}
119
- * @name TMXLayer#animatedTilesets
120
139
  */
121
140
  this.animatedTilesets = [];
122
141
 
123
142
  /**
124
143
  * Layer contains tileset animations
125
- * @public
126
144
  * @type {boolean}
127
- * @name TMXLayer#isAnimated
128
145
  */
129
146
  this.isAnimated = false;
130
147
 
131
148
  /**
132
149
  * the order in which tiles on orthogonal tile layers are rendered.
133
150
  * (valid values are "left-down", "left-up", "right-down", "right-up")
134
- * @public
135
151
  * @type {string}
136
152
  * @default "right-down"
137
- * @name TMXLayer#renderorder
138
153
  */
139
154
  this.renderorder = data.renderorder || "right-down";
140
155
 
141
156
  /**
142
157
  * the layer class
143
- * @public
144
158
  * @type {string}
145
- * @name class
146
- * @name TMXLayer#class
147
159
  */
148
160
  this.class = data.class;
149
161
 
@@ -189,14 +201,36 @@ function preRenderLayer(layer, renderer) {
189
201
  this.setRenderer(map.getRenderer());
190
202
 
191
203
 
192
- // initialize and set the layer data
193
- setLayerData(this,
194
- TMXUtils.decode(
195
- data.data,
196
- data.encoding,
197
- data.compression
198
- )
199
- );
204
+ // initialize the data array
205
+ this.layerData = initArray(this.rows, this.cols);
206
+
207
+ if (map.infinite === 0) {
208
+ // initialize and set the layer data
209
+ setLayerData(
210
+ this,
211
+ this,
212
+ TMXUtils.decode(
213
+ data.data,
214
+ data.encoding,
215
+ data.compression
216
+ )
217
+ );
218
+ } else if (map.infinite === 1) {
219
+ // infinite map, initialize per chunk
220
+ data.chunks.forEach((chunk) => {
221
+ // initialize and set the layer data
222
+ setLayerData(
223
+ this,
224
+ chunk,
225
+ TMXUtils.decode(
226
+ chunk.data,
227
+ data.encoding,
228
+ data.compression
229
+ )
230
+ );
231
+ });
232
+ }
233
+
200
234
  }
201
235
 
202
236
 
@@ -248,9 +282,6 @@ function preRenderLayer(layer, renderer) {
248
282
 
249
283
  /**
250
284
  * Set the TMX renderer for this layer object
251
- * @name setRenderer
252
- * @memberof TMXLayer
253
- * @public
254
285
  * @param {TMXRenderer} renderer
255
286
  * @example
256
287
  * // use the parent map default renderer
@@ -263,9 +294,6 @@ function preRenderLayer(layer, renderer) {
263
294
 
264
295
  /**
265
296
  * Return the layer current renderer object
266
- * @name getRenderer
267
- * @memberof TMXLayer
268
- * @public
269
297
  * @returns {TMXRenderer} renderer
270
298
  */
271
299
  getRenderer() {
@@ -275,9 +303,6 @@ function preRenderLayer(layer, renderer) {
275
303
 
276
304
  /**
277
305
  * Return the TileId of the Tile at the specified position
278
- * @name getTileId
279
- * @memberof TMXLayer
280
- * @public
281
306
  * @param {number} x - X coordinate (in world/pixels coordinates)
282
307
  * @param {number} y - Y coordinate (in world/pixels coordinates)
283
308
  * @returns {number} TileId or null if there is no Tile at the given position
@@ -289,9 +314,6 @@ function preRenderLayer(layer, renderer) {
289
314
 
290
315
  /**
291
316
  * Return the Tile object at the specified position
292
- * @name getTile
293
- * @memberof TMXLayer
294
- * @public
295
317
  * @param {number} x - X coordinate (in world/pixels coordinates)
296
318
  * @param {number} y - Y coordinate (in world/pixels coordinates)
297
319
  * @returns {Tile} corresponding tile or null if there is no defined tile at the coordinate or if outside of the layer bounds
@@ -314,9 +336,6 @@ function preRenderLayer(layer, renderer) {
314
336
 
315
337
  /**
316
338
  * assign the given Tile object to the specified position
317
- * @name getTile
318
- * @memberof TMXLayer
319
- * @public
320
339
  * @param {Tile} tile - the tile object to be assigned
321
340
  * @param {number} x - x coordinate (in world/pixels coordinates)
322
341
  * @param {number} y - y coordinate (in world/pixels coordinates)
@@ -329,9 +348,6 @@ function preRenderLayer(layer, renderer) {
329
348
 
330
349
  /**
331
350
  * return a new the Tile object corresponding to the given tile id
332
- * @name setTile
333
- * @memberof TMXLayer
334
- * @public
335
351
  * @param {number} tileId - tileId
336
352
  * @param {number} x - X coordinate (in world/pixels coordinates)
337
353
  * @param {number} y - Y coordinate (in world/pixels coordinates)
@@ -347,9 +363,6 @@ function preRenderLayer(layer, renderer) {
347
363
 
348
364
  /**
349
365
  * Return the Tile object at the specified tile coordinates
350
- * @name cellAt
351
- * @memberof TMXLayer
352
- * @public
353
366
  * @param {number} x - x position of the tile (in Tile unit)
354
367
  * @param {number} y - x position of the tile (in Tile unit)
355
368
  * @param {number} [boundsCheck=true] - check first if within the layer bounds
@@ -373,9 +386,6 @@ function preRenderLayer(layer, renderer) {
373
386
 
374
387
  /**
375
388
  * clear the tile at the specified position
376
- * @name clearTile
377
- * @memberof TMXLayer
378
- * @public
379
389
  * @param {number} x - X coordinate (in map coordinates: row/column)
380
390
  * @param {number} y - Y coordinate (in map coordinates: row/column)
381
391
  * @example
@@ -15,185 +15,125 @@ export default class TMXObject {
15
15
 
16
16
  /**
17
17
  * point list in JSON format
18
- * @public
19
18
  * @type {object[]}
20
- * @name points
21
- * @memberof TMXObject
22
19
  */
23
20
  this.points = undefined;
24
21
 
25
22
  /**
26
23
  * object name
27
- * @public
28
24
  * @type {string}
29
- * @name name
30
- * @memberof TMXObject
31
25
  */
32
26
  this.name = settings.name;
33
27
 
34
28
  /**
35
29
  * object x position
36
- * @public
37
30
  * @type {number}
38
- * @name x
39
- * @memberof TMXObject
40
31
  */
41
32
  this.x = +settings.x;
42
33
 
43
34
  /**
44
35
  * object y position
45
- * @public
46
36
  * @type {number}
47
- * @name y
48
- * @memberof TMXObject
49
37
  */
50
38
  this.y = +settings.y;
51
39
 
52
40
  /**
53
41
  * object z order
54
- * @public
55
42
  * @type {number}
56
- * @name z
57
- * @memberof TMXObject
58
43
  */
59
44
  this.z = +z;
60
45
 
61
46
  /**
62
47
  * object width
63
- * @public
64
48
  * @type {number}
65
- * @name width
66
- * @memberof TMXObject
67
49
  */
68
50
  this.width = +settings.width || 0;
69
51
 
70
52
  /**
71
53
  * object height
72
- * @public
73
54
  * @type {number}
74
- * @name height
75
- * @memberof TMXObject
76
55
  */
77
56
  this.height = +settings.height || 0;
78
57
 
79
58
  /**
80
59
  * object gid value
81
60
  * when defined the object is a tiled object
82
- * @public
83
61
  * @type {number}
84
- * @name gid
85
- * @memberof TMXObject
86
62
  */
87
63
  this.gid = +settings.gid || null;
88
64
 
89
65
  /**
90
66
  * tint color
91
- * @public
92
67
  * @type {string}
93
- * @name tintcolor
94
- * @memberof TMXObject
95
68
  */
96
69
  this.tintcolor = settings.tintcolor;
97
70
 
98
71
  /**
99
72
  * object type
100
- * @public
101
73
  * @type {string}
102
74
  * @deprecated since Tiled 1.9
103
75
  * @see https://docs.mapeditor.org/en/stable/reference/tmx-changelog/#tiled-1-9
104
- * @name type
105
- * @memberof TMXObject
106
76
  */
107
77
  this.type = settings.type;
108
78
 
109
79
  /**
110
80
  * the object class
111
- * @public
112
81
  * @type {string}
113
- * @name class
114
- * @memberof TMXObject
115
82
  */
116
83
  this.class = typeof settings.class !== "undefined" ? settings.class : settings.type;
117
84
 
118
85
  /**
119
86
  * object text
120
- * @public
121
87
  * @type {object}
122
88
  * @see http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#text
123
- * @name text
124
- * @memberof TMXObject
125
89
  */
126
90
  this.text = undefined;
127
91
 
128
92
  /**
129
93
  * The rotation of the object in radians clockwise (defaults to 0)
130
- * @public
131
94
  * @type {number}
132
- * @name rotation
133
- * @memberof TMXObject
134
95
  */
135
96
  this.rotation = degToRad(+settings.rotation || 0);
136
97
 
137
98
  /**
138
99
  * object unique identifier per level (Tiled 0.11.x+)
139
- * @public
140
100
  * @type {number}
141
- * @name id
142
- * @memberof TMXObject
143
101
  */
144
102
  this.id = +settings.id || undefined;
145
103
 
146
104
  /**
147
105
  * object orientation (orthogonal or isometric)
148
- * @public
149
106
  * @type {string}
150
- * @name orientation
151
- * @memberof TMXObject
152
107
  */
153
108
  this.orientation = map.orientation;
154
109
 
155
110
  /**
156
111
  * the collision shapes defined for this object
157
- * @public
158
112
  * @type {object[]}
159
- * @name shapes
160
- * @memberof TMXObject
161
113
  */
162
114
  this.shapes = undefined;
163
115
 
164
116
  /**
165
117
  * if true, the object is an Ellipse
166
- * @public
167
118
  * @type {boolean}
168
- * @name isEllipse
169
- * @memberof TMXObject
170
119
  */
171
120
  this.isEllipse = false;
172
121
 
173
122
  /**
174
123
  * if true, the object is a Point
175
- * @public
176
124
  * @type {boolean}
177
- * @name isPoint
178
- * @memberof TMXObject
179
125
  */
180
126
  this.isPoint = false;
181
127
 
182
128
  /**
183
129
  * if true, the object is a Polygon
184
- * @public
185
130
  * @type {boolean}
186
- * @name isPolygon
187
- * @memberof TMXObject
188
131
  */
189
132
  this.isPolygon = false;
190
133
 
191
134
  /**
192
135
  * if true, the object is a PolyLine
193
- * @public
194
136
  * @type {boolean}
195
- * @name isPolyLine
196
- * @memberof TMXObject
197
137
  */
198
138
  this.isPolyLine = false;
199
139
 
@@ -265,8 +205,6 @@ export default class TMXObject {
265
205
 
266
206
  /**
267
207
  * parses the TMX shape definition and returns a corresponding array of me.Shape object
268
- * @name parseTMXShapes
269
- * @memberof TMXObject
270
208
  * @private
271
209
  * @returns {Polygon[]|Line[]|Ellipse[]} an array of shape objects
272
210
  */
@@ -1,12 +1,7 @@
1
1
  import Matrix2d from "./../../math/matrix2.js";
2
2
  import Sprite from "./../../renderable/sprite.js";
3
3
  import Bounds from "./../../physics/bounds.js";
4
-
5
- // bitmask constants to check for flipped & rotated tiles
6
- const TMX_FLIP_H = 0x80000000,
7
- TMX_FLIP_V = 0x40000000,
8
- TMX_FLIP_AD = 0x20000000,
9
- TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
4
+ import { TMX_FLIP_V, TMX_FLIP_H, TMX_FLIP_AD, TMX_CLEAR_BIT_MASK } from "./constants.js";
10
5
 
11
6
  /**
12
7
  * @classdesc
@@ -40,9 +35,7 @@ const TMX_FLIP_H = 0x80000000,
40
35
 
41
36
  /**
42
37
  * tileset
43
- * @public
44
38
  * @type {TMXTileset}
45
- * @name Tile#tileset
46
39
  */
47
40
  this.tileset = tileset;
48
41
 
@@ -58,38 +51,31 @@ const TMX_FLIP_H = 0x80000000,
58
51
 
59
52
  /**
60
53
  * tileId
61
- * @public
62
54
  * @type {number}
63
- * @name Tile#tileId
64
55
  */
65
56
  this.tileId = gid;
57
+
66
58
  /**
67
- * True if the tile is flipped horizontally<br>
68
- * @public
59
+ * True if the tile is flipped horizontally
69
60
  * @type {boolean}
70
- * @name Tile#flipX
71
61
  */
72
62
  this.flippedX = (this.tileId & TMX_FLIP_H) !== 0;
63
+
73
64
  /**
74
- * True if the tile is flipped vertically<br>
75
- * @public
65
+ * True if the tile is flipped vertically
76
66
  * @type {boolean}
77
- * @name Tile#flippedY
78
67
  */
79
68
  this.flippedY = (this.tileId & TMX_FLIP_V) !== 0;
69
+
80
70
  /**
81
- * True if the tile is flipped anti-diagonally<br>
82
- * @public
71
+ * True if the tile is flipped anti-diagonally
83
72
  * @type {boolean}
84
- * @name Tile#flippedAD
85
73
  */
86
74
  this.flippedAD = (this.tileId & TMX_FLIP_AD) !== 0;
87
75
 
88
76
  /**
89
- * Global flag that indicates if the tile is flipped<br>
90
- * @public
77
+ * Global flag that indicates if the tile is flipped
91
78
  * @type {boolean}
92
- * @name Tile#flipped
93
79
  */
94
80
  this.flipped = this.flippedX || this.flippedY || this.flippedAD;
95
81
 
@@ -130,8 +116,6 @@ const TMX_FLIP_H = 0x80000000,
130
116
 
131
117
  /**
132
118
  * return a renderable object for this Tile object
133
- * @name Tile#getRenderable
134
- * @public
135
119
  * @param {object} [settings] - see {@link Sprite}
136
120
  * @returns {Renderable} a me.Sprite object
137
121
  */