melonjs 14.2.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 (388) 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 +141 -10
  10. package/dist/melonjs.mjs/application/header.js +34 -0
  11. package/dist/melonjs.mjs/application/resize.js +4 -2
  12. package/dist/melonjs.mjs/application/settings.js +28 -0
  13. package/dist/melonjs.mjs/audio/audio.js +2 -2
  14. package/dist/melonjs.mjs/camera/camera2d.js +3 -3
  15. package/dist/melonjs.mjs/const.js +32 -0
  16. package/dist/melonjs.mjs/entity/entity.js +2 -2
  17. package/dist/melonjs.mjs/game.js +1 -1
  18. package/dist/melonjs.mjs/geometries/ellipse.js +2 -2
  19. package/dist/melonjs.mjs/geometries/line.js +2 -2
  20. package/dist/melonjs.mjs/geometries/path2d.js +2 -2
  21. package/dist/melonjs.mjs/geometries/point.js +2 -2
  22. package/dist/melonjs.mjs/geometries/poly.js +2 -2
  23. package/dist/melonjs.mjs/geometries/rectangle.js +2 -2
  24. package/dist/melonjs.mjs/geometries/roundrect.js +2 -2
  25. package/dist/melonjs.mjs/index.js +44 -33
  26. package/dist/melonjs.mjs/input/gamepad.js +2 -2
  27. package/dist/melonjs.mjs/input/input.js +2 -2
  28. package/dist/melonjs.mjs/input/keyboard.js +2 -2
  29. package/dist/melonjs.mjs/input/pointer.js +3 -3
  30. package/dist/melonjs.mjs/input/pointerevent.js +3 -3
  31. package/dist/melonjs.mjs/lang/console.js +44 -0
  32. package/dist/melonjs.mjs/lang/deprecated.js +4 -40
  33. package/dist/melonjs.mjs/level/level.js +3 -3
  34. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +2 -23
  35. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +68 -58
  36. package/dist/melonjs.mjs/level/tiled/TMXObject.js +2 -64
  37. package/dist/melonjs.mjs/level/tiled/TMXTile.js +10 -26
  38. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +18 -84
  39. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +2 -16
  40. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -10
  41. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +37 -14
  42. package/dist/melonjs.mjs/level/tiled/constants.js +17 -0
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +7 -8
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +3 -6
  45. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
  46. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -14
  47. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
  48. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +38 -0
  49. package/dist/melonjs.mjs/loader/loader.js +5 -3
  50. package/dist/melonjs.mjs/loader/loadingscreen.js +3 -3
  51. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +2 -2
  52. package/dist/melonjs.mjs/math/color.js +2 -2
  53. package/dist/melonjs.mjs/math/math.js +2 -2
  54. package/dist/melonjs.mjs/math/matrix2.js +2 -2
  55. package/dist/melonjs.mjs/math/matrix3.js +2 -2
  56. package/dist/melonjs.mjs/math/observable_vector2.js +2 -2
  57. package/dist/melonjs.mjs/math/observable_vector3.js +2 -2
  58. package/dist/melonjs.mjs/math/vector2.js +2 -2
  59. package/dist/melonjs.mjs/math/vector3.js +2 -2
  60. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +2 -2
  61. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +2 -2
  62. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +2 -2
  63. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +2 -2
  64. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +2 -2
  65. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
  66. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +2 -2
  67. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +2 -2
  68. package/dist/melonjs.mjs/particles/emitter.js +2 -2
  69. package/dist/melonjs.mjs/particles/particle.js +2 -2
  70. package/dist/melonjs.mjs/particles/settings.js +2 -2
  71. package/dist/melonjs.mjs/physics/body.js +2 -2
  72. package/dist/melonjs.mjs/physics/bounds.js +2 -2
  73. package/dist/melonjs.mjs/physics/collision.js +4 -4
  74. package/dist/melonjs.mjs/physics/detector.js +175 -147
  75. package/dist/melonjs.mjs/physics/quadtree.js +2 -2
  76. package/dist/melonjs.mjs/physics/response.js +2 -2
  77. package/dist/melonjs.mjs/physics/sat.js +2 -2
  78. package/dist/melonjs.mjs/physics/world.js +11 -31
  79. package/dist/melonjs.mjs/plugin/plugin.js +4 -4
  80. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  81. package/dist/melonjs.mjs/renderable/colorlayer.js +2 -2
  82. package/dist/melonjs.mjs/renderable/container.js +4 -88
  83. package/dist/melonjs.mjs/renderable/dragndrop.js +2 -2
  84. package/dist/melonjs.mjs/renderable/imagelayer.js +3 -3
  85. package/dist/melonjs.mjs/renderable/light2d.js +2 -2
  86. package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
  87. package/dist/melonjs.mjs/renderable/renderable.js +2 -2
  88. package/dist/melonjs.mjs/renderable/sprite.js +2 -2
  89. package/dist/melonjs.mjs/renderable/trigger.js +3 -3
  90. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +2 -2
  91. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +2 -2
  92. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +2 -2
  93. package/dist/melonjs.mjs/state/stage.js +3 -3
  94. package/dist/melonjs.mjs/state/state.js +3 -3
  95. package/dist/melonjs.mjs/system/device.js +3 -23
  96. package/dist/melonjs.mjs/system/dom.js +2 -2
  97. package/dist/melonjs.mjs/system/event.js +2 -2
  98. package/dist/melonjs.mjs/system/platform.js +2 -2
  99. package/dist/melonjs.mjs/system/pooling.js +2 -2
  100. package/dist/melonjs.mjs/system/save.js +2 -2
  101. package/dist/melonjs.mjs/system/timer.js +2 -2
  102. package/dist/melonjs.mjs/text/bitmaptext.js +2 -2
  103. package/dist/melonjs.mjs/text/bitmaptextdata.js +2 -2
  104. package/dist/melonjs.mjs/text/glyph.js +2 -2
  105. package/dist/melonjs.mjs/text/text.js +2 -2
  106. package/dist/melonjs.mjs/text/textmetrics.js +2 -2
  107. package/dist/melonjs.mjs/text/textstyle.js +2 -2
  108. package/dist/melonjs.mjs/tweens/easing.js +2 -2
  109. package/dist/melonjs.mjs/tweens/interpolation.js +2 -2
  110. package/dist/melonjs.mjs/tweens/tween.js +3 -3
  111. package/dist/melonjs.mjs/utils/agent.js +2 -2
  112. package/dist/melonjs.mjs/utils/array.js +2 -2
  113. package/dist/melonjs.mjs/utils/file.js +2 -2
  114. package/dist/melonjs.mjs/utils/function.js +2 -2
  115. package/dist/melonjs.mjs/utils/string.js +2 -2
  116. package/dist/melonjs.mjs/utils/utils.js +2 -2
  117. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +5 -2
  118. package/dist/melonjs.mjs/video/renderer.js +9 -2
  119. package/dist/melonjs.mjs/video/texture/atlas.js +2 -2
  120. package/dist/melonjs.mjs/video/texture/cache.js +2 -2
  121. package/dist/melonjs.mjs/video/texture/canvas_texture.js +4 -3
  122. package/dist/melonjs.mjs/video/utils/autodetect.js +27 -0
  123. package/dist/melonjs.mjs/video/utils/resize.js +1 -1
  124. package/dist/melonjs.mjs/video/video.js +29 -158
  125. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +2 -2
  126. package/dist/melonjs.mjs/video/webgl/glshader.js +3 -4
  127. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +2 -2
  128. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
  129. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +2 -2
  130. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
  131. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
  132. package/dist/melonjs.mjs/video/webgl/utils/precision.js +21 -3
  133. package/dist/melonjs.mjs/video/webgl/utils/program.js +2 -2
  134. package/dist/melonjs.mjs/video/webgl/utils/string.js +2 -2
  135. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +2 -2
  136. package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +2 -2
  137. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +5 -2
  138. package/dist/melonjs.module.js +20845 -20968
  139. package/dist/types/application/application.d.ts +148 -0
  140. package/dist/types/application/header.d.ts +5 -0
  141. package/dist/types/application/resize.d.ts +6 -0
  142. package/dist/types/application/settings.d.ts +18 -0
  143. package/dist/types/audio/audio.d.ts +267 -0
  144. package/dist/types/camera/camera2d.d.ts +289 -0
  145. package/dist/types/const.d.ts +21 -0
  146. package/dist/types/entity/entity.d.ts +98 -0
  147. package/{src/game.js → dist/types/game.d.ts} +3 -14
  148. package/dist/types/geometries/ellipse.d.ts +154 -0
  149. package/dist/types/geometries/line.d.ts +11 -0
  150. package/dist/types/geometries/path2d.d.ts +121 -0
  151. package/dist/types/geometries/point.d.ts +53 -0
  152. package/dist/types/geometries/poly.d.ts +222 -0
  153. package/dist/types/geometries/rectangle.d.ts +176 -0
  154. package/dist/types/geometries/roundrect.d.ts +52 -0
  155. package/dist/types/index.d.ts +4 -2
  156. package/dist/types/input/gamepad.d.ts +95 -0
  157. package/dist/types/input/input.d.ts +15 -0
  158. package/dist/types/input/keyboard.d.ts +205 -0
  159. package/dist/types/input/pointer.d.ts +270 -0
  160. package/dist/types/input/pointerevent.d.ts +181 -0
  161. package/dist/types/lang/console.d.ts +7 -0
  162. package/dist/types/lang/deprecated.d.ts +45 -0
  163. package/dist/types/level/level.d.ts +134 -0
  164. package/dist/types/level/tiled/TMXGroup.d.ts +61 -0
  165. package/dist/types/level/tiled/TMXLayer.d.ts +158 -0
  166. package/dist/types/level/tiled/TMXObject.d.ts +133 -0
  167. package/dist/types/level/tiled/TMXTile.d.ts +64 -0
  168. package/dist/types/level/tiled/TMXTileMap.d.ts +142 -0
  169. package/dist/types/level/tiled/TMXTileset.d.ts +80 -0
  170. package/dist/types/level/tiled/TMXTilesetGroup.d.ts +26 -0
  171. package/dist/types/level/tiled/TMXUtils.d.ts +47 -0
  172. package/dist/types/level/tiled/constants.d.ts +5 -0
  173. package/dist/types/level/tiled/renderer/TMXHexagonalRenderer.d.ts +83 -0
  174. package/dist/types/level/tiled/renderer/TMXIsometricRenderer.d.ts +51 -0
  175. package/dist/types/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +43 -0
  176. package/dist/types/level/tiled/renderer/TMXRenderer.d.ts +63 -0
  177. package/dist/types/level/tiled/renderer/TMXStaggeredRenderer.d.ts +8 -0
  178. package/dist/types/level/tiled/renderer/autodetect.d.ts +9 -0
  179. package/dist/types/loader/loader.d.ts +181 -0
  180. package/dist/types/loader/loadingscreen.d.ts +18 -0
  181. package/dist/types/math/color.d.ts +170 -0
  182. package/dist/types/math/math.d.ts +165 -0
  183. package/dist/types/math/matrix2.d.ts +209 -0
  184. package/dist/types/math/matrix3.d.ts +236 -0
  185. package/dist/types/math/observable_vector2.d.ts +278 -0
  186. package/dist/types/math/observable_vector3.d.ts +277 -0
  187. package/dist/types/math/vector2.d.ts +327 -0
  188. package/dist/types/math/vector3.d.ts +332 -0
  189. package/dist/types/particles/emitter.d.ts +188 -0
  190. package/dist/types/particles/particle.d.ts +32 -0
  191. package/dist/types/particles/settings.d.ts +32 -0
  192. package/dist/types/physics/body.d.ts +330 -0
  193. package/dist/types/physics/bounds.d.ts +250 -0
  194. package/dist/types/physics/collision.d.ts +44 -0
  195. package/dist/types/physics/detector.d.ts +64 -0
  196. package/dist/types/physics/quadtree.d.ts +79 -0
  197. package/dist/types/physics/response.d.ts +37 -0
  198. package/dist/types/physics/sat.d.ts +48 -0
  199. package/dist/types/physics/world.d.ts +83 -0
  200. package/dist/types/plugin/plugin.d.ts +10 -0
  201. package/dist/types/polyfill/console.d.ts +0 -0
  202. package/dist/types/polyfill/index.d.ts +1 -0
  203. package/dist/types/polyfill/performance.d.ts +0 -0
  204. package/dist/types/polyfill/requestAnimationFrame.d.ts +1 -0
  205. package/dist/types/polyfill/roundrect.d.ts +0 -0
  206. package/dist/types/renderable/collectable.d.ts +19 -0
  207. package/dist/types/renderable/colorlayer.d.ts +28 -0
  208. package/dist/types/renderable/container.d.ts +302 -0
  209. package/dist/types/renderable/dragndrop.d.ts +118 -0
  210. package/dist/types/renderable/imagelayer.d.ts +106 -0
  211. package/dist/types/renderable/light2d.d.ts +58 -0
  212. package/dist/types/renderable/nineslicesprite.d.ts +59 -0
  213. package/dist/types/renderable/renderable.d.ts +402 -0
  214. package/dist/types/renderable/sprite.d.ts +268 -0
  215. package/dist/types/renderable/trigger.d.ts +61 -0
  216. package/dist/types/renderable/ui/uibaseelement.d.ts +95 -0
  217. package/dist/types/renderable/ui/uispriteelement.d.ts +127 -0
  218. package/dist/types/renderable/ui/uitextbutton.d.ts +54 -0
  219. package/dist/types/state/stage.d.ts +116 -0
  220. package/dist/types/state/state.d.ts +170 -0
  221. package/dist/types/system/device.d.ts +579 -0
  222. package/dist/types/system/dom.d.ts +1 -0
  223. package/dist/types/system/event.d.ts +473 -0
  224. package/dist/types/system/platform.d.ts +31 -0
  225. package/dist/types/system/pooling.d.ts +101 -0
  226. package/dist/types/system/save.d.ts +25 -0
  227. package/dist/types/system/timer.d.ts +126 -0
  228. package/dist/types/text/bitmaptext.d.ts +151 -0
  229. package/dist/types/text/bitmaptextdata.d.ts +35 -0
  230. package/dist/types/text/glyph.d.ts +28 -0
  231. package/dist/types/text/text.d.ts +173 -0
  232. package/dist/types/text/textmetrics.d.ts +47 -0
  233. package/dist/types/text/textstyle.d.ts +5 -0
  234. package/dist/types/tweens/easing.d.ts +46 -0
  235. package/dist/types/tweens/interpolation.d.ts +18 -0
  236. package/dist/types/tweens/tween.d.ts +195 -0
  237. package/dist/types/utils/agent.d.ts +21 -0
  238. package/dist/types/utils/array.d.ts +39 -0
  239. package/dist/types/utils/file.d.ts +18 -0
  240. package/dist/types/utils/function.d.ts +32 -0
  241. package/dist/types/utils/string.d.ts +50 -0
  242. package/dist/types/utils/utils.d.ts +17 -0
  243. package/dist/types/video/canvas/canvas_renderer.d.ts +380 -0
  244. package/dist/types/video/renderer.d.ts +222 -0
  245. package/dist/types/video/texture/atlas.d.ts +201 -0
  246. package/dist/types/video/texture/cache.d.ts +45 -0
  247. package/dist/types/video/texture/canvas_texture.d.ts +78 -0
  248. package/dist/types/video/utils/autodetect.d.ts +7 -0
  249. package/dist/types/video/utils/resize.d.ts +4 -0
  250. package/dist/types/video/video.d.ts +93 -0
  251. package/dist/types/video/webgl/buffer/vertex.d.ts +56 -0
  252. package/dist/types/video/webgl/glshader.d.ts +93 -0
  253. package/dist/types/video/webgl/utils/attributes.d.ts +4 -0
  254. package/dist/types/video/webgl/utils/precision.d.ts +13 -0
  255. package/dist/types/video/webgl/utils/program.d.ts +5 -0
  256. package/dist/types/video/webgl/utils/string.d.ts +5 -0
  257. package/dist/types/video/webgl/utils/uniforms.d.ts +4 -0
  258. package/dist/types/video/webgl/webgl_compositor.d.ts +174 -0
  259. package/dist/types/video/webgl/webgl_renderer.d.ts +429 -0
  260. package/package.json +8 -8
  261. package/src/application/application.js +138 -7
  262. package/src/application/header.js +25 -0
  263. package/src/{video/utils → application}/resize.js +11 -6
  264. package/src/application/settings.js +19 -0
  265. package/src/camera/camera2d.js +1 -1
  266. package/src/const.js +23 -0
  267. package/src/index.js +36 -23
  268. package/src/input/pointer.js +1 -1
  269. package/src/input/pointerevent.js +1 -1
  270. package/src/lang/console.js +36 -0
  271. package/src/lang/deprecated.js +2 -37
  272. package/src/level/level.js +1 -1
  273. package/src/level/tiled/TMXGroup.js +0 -21
  274. package/src/level/tiled/TMXLayer.js +66 -56
  275. package/src/level/tiled/TMXObject.js +0 -62
  276. package/src/level/tiled/TMXTile.js +8 -24
  277. package/src/level/tiled/TMXTileMap.js +17 -83
  278. package/src/level/tiled/TMXTileset.js +0 -14
  279. package/src/level/tiled/TMXTilesetGroup.js +1 -9
  280. package/src/level/tiled/TMXUtils.js +38 -15
  281. package/src/level/tiled/constants.js +8 -0
  282. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +5 -6
  283. package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -4
  284. package/src/level/tiled/renderer/TMXRenderer.js +0 -12
  285. package/src/level/tiled/renderer/autodetect.js +29 -0
  286. package/src/loader/loader.js +3 -1
  287. package/src/loader/loadingscreen.js +1 -1
  288. package/src/physics/collision.js +2 -2
  289. package/src/physics/detector.js +172 -145
  290. package/src/physics/world.js +10 -30
  291. package/src/renderable/container.js +7 -91
  292. package/src/renderable/imagelayer.js +1 -1
  293. package/src/renderable/trigger.js +1 -1
  294. package/src/renderable/ui/uibaseelement.js +1 -1
  295. package/src/state/stage.js +1 -1
  296. package/src/state/state.js +1 -1
  297. package/src/system/device.js +0 -20
  298. package/src/tweens/tween.js +1 -1
  299. package/src/video/canvas/canvas_renderer.js +3 -0
  300. package/src/video/renderer.js +7 -0
  301. package/src/video/texture/canvas_texture.js +2 -1
  302. package/src/video/utils/autodetect.js +18 -0
  303. package/src/video/video.js +26 -155
  304. package/src/video/webgl/glshader.js +3 -4
  305. package/src/video/webgl/utils/precision.js +18 -0
  306. package/src/video/webgl/webgl_renderer.js +3 -0
  307. package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-end.js +0 -13
  308. package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-start.js +0 -13
  309. package/dist/melonjs.mjs/node_modules/core-js/internals/a-callable.js +0 -22
  310. package/dist/melonjs.mjs/node_modules/core-js/internals/an-object.js +0 -21
  311. package/dist/melonjs.mjs/node_modules/core-js/internals/array-includes.js +0 -45
  312. package/dist/melonjs.mjs/node_modules/core-js/internals/classof-raw.js +0 -19
  313. package/dist/melonjs.mjs/node_modules/core-js/internals/classof.js +0 -43
  314. package/dist/melonjs.mjs/node_modules/core-js/internals/copy-constructor-properties.js +0 -32
  315. package/dist/melonjs.mjs/node_modules/core-js/internals/create-non-enumerable-property.js +0 -24
  316. package/dist/melonjs.mjs/node_modules/core-js/internals/create-property-descriptor.js +0 -17
  317. package/dist/melonjs.mjs/node_modules/core-js/internals/define-built-in.js +0 -43
  318. package/dist/melonjs.mjs/node_modules/core-js/internals/define-global-property.js +0 -23
  319. package/dist/melonjs.mjs/node_modules/core-js/internals/descriptors.js +0 -18
  320. package/dist/melonjs.mjs/node_modules/core-js/internals/document-all.js +0 -18
  321. package/dist/melonjs.mjs/node_modules/core-js/internals/document-create-element.js +0 -22
  322. package/dist/melonjs.mjs/node_modules/core-js/internals/engine-user-agent.js +0 -14
  323. package/dist/melonjs.mjs/node_modules/core-js/internals/engine-v8-version.js +0 -39
  324. package/dist/melonjs.mjs/node_modules/core-js/internals/entry-unbind.js +0 -18
  325. package/dist/melonjs.mjs/node_modules/core-js/internals/enum-bug-keys.js +0 -19
  326. package/dist/melonjs.mjs/node_modules/core-js/internals/export.js +0 -72
  327. package/dist/melonjs.mjs/node_modules/core-js/internals/fails.js +0 -16
  328. package/dist/melonjs.mjs/node_modules/core-js/internals/function-bind-native.js +0 -19
  329. package/dist/melonjs.mjs/node_modules/core-js/internals/function-call.js +0 -18
  330. package/dist/melonjs.mjs/node_modules/core-js/internals/function-name.js +0 -29
  331. package/dist/melonjs.mjs/node_modules/core-js/internals/function-uncurry-this.js +0 -22
  332. package/dist/melonjs.mjs/node_modules/core-js/internals/get-built-in.js +0 -22
  333. package/dist/melonjs.mjs/node_modules/core-js/internals/get-method.js +0 -21
  334. package/dist/melonjs.mjs/node_modules/core-js/internals/global.js +0 -25
  335. package/dist/melonjs.mjs/node_modules/core-js/internals/has-own-property.js +0 -23
  336. package/dist/melonjs.mjs/node_modules/core-js/internals/hidden-keys.js +0 -10
  337. package/dist/melonjs.mjs/node_modules/core-js/internals/ie8-dom-define.js +0 -24
  338. package/dist/melonjs.mjs/node_modules/core-js/internals/indexed-object.js +0 -28
  339. package/dist/melonjs.mjs/node_modules/core-js/internals/inspect-source.js +0 -27
  340. package/dist/melonjs.mjs/node_modules/core-js/internals/internal-state.js +0 -88
  341. package/dist/melonjs.mjs/node_modules/core-js/internals/is-callable.js +0 -22
  342. package/dist/melonjs.mjs/node_modules/core-js/internals/is-forced.js +0 -34
  343. package/dist/melonjs.mjs/node_modules/core-js/internals/is-null-or-undefined.js +0 -14
  344. package/dist/melonjs.mjs/node_modules/core-js/internals/is-object.js +0 -22
  345. package/dist/melonjs.mjs/node_modules/core-js/internals/is-symbol.js +0 -27
  346. package/dist/melonjs.mjs/node_modules/core-js/internals/length-of-array-like.js +0 -18
  347. package/dist/melonjs.mjs/node_modules/core-js/internals/make-built-in.js +0 -68
  348. package/dist/melonjs.mjs/node_modules/core-js/internals/math-trunc.js +0 -19
  349. package/dist/melonjs.mjs/node_modules/core-js/internals/object-define-property.js +0 -58
  350. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +0 -41
  351. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-names.js +0 -23
  352. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-symbols.js +0 -12
  353. package/dist/melonjs.mjs/node_modules/core-js/internals/object-is-prototype-of.js +0 -14
  354. package/dist/melonjs.mjs/node_modules/core-js/internals/object-keys-internal.js +0 -35
  355. package/dist/melonjs.mjs/node_modules/core-js/internals/object-property-is-enumerable.js +0 -23
  356. package/dist/melonjs.mjs/node_modules/core-js/internals/ordinary-to-primitive.js +0 -28
  357. package/dist/melonjs.mjs/node_modules/core-js/internals/own-keys.js +0 -31
  358. package/dist/melonjs.mjs/node_modules/core-js/internals/require-object-coercible.js +0 -21
  359. package/dist/melonjs.mjs/node_modules/core-js/internals/shared-key.js +0 -21
  360. package/dist/melonjs.mjs/node_modules/core-js/internals/shared-store.js +0 -19
  361. package/dist/melonjs.mjs/node_modules/core-js/internals/shared.js +0 -24
  362. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-end.js +0 -22
  363. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-forced.js +0 -28
  364. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-start.js +0 -22
  365. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim.js +0 -45
  366. package/dist/melonjs.mjs/node_modules/core-js/internals/symbol-constructor-detection.js +0 -26
  367. package/dist/melonjs.mjs/node_modules/core-js/internals/to-absolute-index.js +0 -23
  368. package/dist/melonjs.mjs/node_modules/core-js/internals/to-indexed-object.js +0 -19
  369. package/dist/melonjs.mjs/node_modules/core-js/internals/to-integer-or-infinity.js +0 -20
  370. package/dist/melonjs.mjs/node_modules/core-js/internals/to-length.js +0 -20
  371. package/dist/melonjs.mjs/node_modules/core-js/internals/to-object.js +0 -20
  372. package/dist/melonjs.mjs/node_modules/core-js/internals/to-primitive.js +0 -41
  373. package/dist/melonjs.mjs/node_modules/core-js/internals/to-property-key.js +0 -21
  374. package/dist/melonjs.mjs/node_modules/core-js/internals/to-string-tag-support.js +0 -19
  375. package/dist/melonjs.mjs/node_modules/core-js/internals/to-string.js +0 -19
  376. package/dist/melonjs.mjs/node_modules/core-js/internals/try-to-string.js +0 -18
  377. package/dist/melonjs.mjs/node_modules/core-js/internals/uid.js +0 -20
  378. package/dist/melonjs.mjs/node_modules/core-js/internals/use-symbol-as-uid.js +0 -18
  379. package/dist/melonjs.mjs/node_modules/core-js/internals/v8-prototype-define-bug.js +0 -24
  380. package/dist/melonjs.mjs/node_modules/core-js/internals/weak-map-basic-detection.js +0 -18
  381. package/dist/melonjs.mjs/node_modules/core-js/internals/well-known-symbol.js +0 -41
  382. package/dist/melonjs.mjs/node_modules/core-js/internals/whitespaces.js +0 -12
  383. package/dist/melonjs.mjs/node_modules/core-js/modules/es.global-this.js +0 -18
  384. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-end.js +0 -22
  385. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-left.js +0 -19
  386. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-right.js +0 -19
  387. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-start.js +0 -22
  388. package/dist/melonjs.mjs/node_modules/eventemitter3/index.mjs.js +0 -9
@@ -1,46 +1,18 @@
1
1
  import pool from "./../../system/pooling.js";
2
2
  import * as event from "./../../system/event.js";
3
- import game from "./../../game.js";
3
+ import { game } from "../../index.js";
4
+ import utils from "./../../utils/utils.js";
4
5
  import collision from "./../../physics/collision.js";
5
6
  import Body from "./../../physics/body.js";
6
- import TMXOrthogonalRenderer from "./renderer/TMXOrthogonalRenderer.js";
7
- import TMXIsometricRenderer from "./renderer/TMXIsometricRenderer.js";
8
- import TMXHexagonalRenderer from "./renderer/TMXHexagonalRenderer.js";
9
- import TMXStaggeredRenderer from "./renderer/TMXStaggeredRenderer.js";
10
7
  import TMXTileset from "./TMXTileset.js";
11
8
  import TMXTilesetGroup from "./TMXTilesetGroup.js";
12
9
  import TMXGroup from "./TMXGroup.js";
13
10
  import TMXLayer from "./TMXLayer.js";
14
11
  import { applyTMXProperties } from "./TMXUtils.js";
15
- import Container from "./../../renderable/container.js";
16
-
17
- // constant to identify the collision object layer
18
- const COLLISION_GROUP = "collision";
19
-
20
- /**
21
- * set a compatible renderer object
22
- * for the specified map
23
- * @ignore
24
- */
25
- function getNewDefaultRenderer(map) {
26
- switch (map.orientation) {
27
- case "orthogonal":
28
- return new TMXOrthogonalRenderer(map);
29
-
30
- case "isometric":
31
- return new TMXIsometricRenderer(map);
32
-
33
- case "hexagonal":
34
- return new TMXHexagonalRenderer(map);
35
-
36
- case "staggered":
37
- return new TMXStaggeredRenderer(map);
38
-
39
- // if none found, throw an exception
40
- default:
41
- throw new Error(map.orientation + " type TMX Tile Map not supported!");
42
- }
43
- }
12
+ import Container from "../../renderable/container.js";
13
+ import { COLLISION_GROUP } from "./constants.js";
14
+ import { getNewTMXRenderer } from "./renderer/autodetect.js";
15
+ import { warning } from "../../lang/console.js";
44
16
 
45
17
  /**
46
18
  * read the layer Data
@@ -122,96 +94,73 @@ function readObjectGroup(map, data, z) {
122
94
 
123
95
  /**
124
96
  * name of the tilemap
125
- * @public
126
97
  * @type {string}
127
- * @name TMXTileMap#name
128
98
  */
129
99
  this.name = levelId;
130
100
 
131
101
  /**
132
102
  * width of the tilemap in tiles
133
- * @public
134
103
  * @type {number}
135
- * @name TMXTileMap#cols
136
104
  */
137
105
  this.cols = +data.width;
106
+
138
107
  /**
139
108
  * height of the tilemap in tiles
140
- * @public
141
109
  * @type {number}
142
- * @name TMXTileMap#rows
143
110
  */
144
111
  this.rows = +data.height;
145
112
 
146
113
  /**
147
114
  * Tile width
148
- * @public
149
115
  * @type {number}
150
- * @name TMXTileMap#tilewidth
151
116
  */
152
117
  this.tilewidth = +data.tilewidth;
153
118
 
154
119
  /**
155
120
  * Tile height
156
- * @public
157
121
  * @type {number}
158
- * @name TMXTileMap#tileheight
159
122
  */
160
123
  this.tileheight = +data.tileheight;
161
124
 
162
125
  /**
163
126
  * is the map an infinite map
164
- * @public
165
127
  * @type {number}
166
128
  * @default 0
167
- * @name TMXTileMap#infinite
168
129
  */
169
- this.infinite = +data.infinite;
130
+ this.infinite = +data.infinite || 0;
170
131
 
171
132
  /**
172
133
  * the map orientation type. melonJS supports “orthogonal”, “isometric”, “staggered” and “hexagonal”.
173
- * @public
174
134
  * @type {string}
175
135
  * @default "orthogonal"
176
- * @name TMXTileMap#orientation
177
136
  */
178
137
  this.orientation = data.orientation;
179
138
 
180
139
  /**
181
140
  * the order in which tiles on orthogonal tile layers are rendered.
182
141
  * (valid values are "left-down", "left-up", "right-down", "right-up")
183
- * @public
184
142
  * @type {string}
185
143
  * @default "right-down"
186
- * @name TMXTileMap#renderorder
187
144
  */
188
145
  this.renderorder = data.renderorder || "right-down";
189
146
 
190
147
  /**
191
148
  * the TMX format version
192
- * @public
193
149
  * @type {string}
194
- * @name TMXTileMap#version
195
150
  */
196
- this.version = data.version;
151
+ this.version = "" + data.version;
197
152
 
198
153
  /**
199
154
  * The Tiled version used to save the file (since Tiled 1.0.1).
200
- * @public
201
155
  * @type {string}
202
- * @name TMXTileMap#tiledversion
203
156
  */
204
- this.tiledversion = data.tiledversion;
205
-
157
+ this.tiledversion = "" + data.tiledversion;
206
158
 
207
159
  /**
208
160
  * The map class.
209
- * @public
210
161
  * @type {string}
211
- * @name TMXTileMap#class
212
162
  */
213
- this.class = data.class;
214
-
163
+ this.class = data.class;
215
164
 
216
165
  // tilesets for this map
217
166
  this.tilesets = null;
@@ -228,7 +177,6 @@ function readObjectGroup(map, data, z) {
228
177
  // Check if map is from melon editor
229
178
  this.isEditor = data.editor === "melon-editor";
230
179
 
231
-
232
180
  // object id
233
181
  this.nextobjectid = +data.nextobjectid || undefined;
234
182
 
@@ -247,37 +195,31 @@ function readObjectGroup(map, data, z) {
247
195
  // background color
248
196
  this.backgroundcolor = data.backgroundcolor;
249
197
 
198
+ // deprecation warning if map tiled version is older than 1.5
199
+ if (utils.checkVersion(this.version, "1.5") < 0) {
200
+ warning("("+this.name+") Tiled Map format version 1.4 and below", "Tiled 1.5 or higher", "10.4.4");
201
+ }
202
+
250
203
  // set additional map properties (if any)
251
204
  applyTMXProperties(this, data);
252
205
 
253
206
  // internal flag
254
207
  this.initialized = false;
255
-
256
- if (this.infinite === 1) {
257
- // #956 Support for Infinite map
258
- // see as well in me.TMXUtils
259
- throw new Error("Tiled Infinite Map not supported!");
260
- }
261
208
  }
262
209
 
263
210
  /**
264
211
  * Return the map default renderer
265
- * @name getRenderer
266
- * @memberof TMXTileMap
267
- * @public
268
212
  * @returns {TMXRenderer} a TMX renderer
269
213
  */
270
214
  getRenderer() {
271
215
  if ((typeof(this.renderer) === "undefined") || (!this.renderer.canRender(this))) {
272
- this.renderer = getNewDefaultRenderer(this);
216
+ this.renderer = getNewTMXRenderer(this);
273
217
  }
274
218
  return this.renderer;
275
219
  }
276
220
 
277
221
  /**
278
222
  * return the map bounding rect
279
- * @name TMXRenderer#getBounds
280
- * @public
281
223
  * @returns {Bounds}
282
224
  */
283
225
  getBounds() {
@@ -358,8 +300,6 @@ function readObjectGroup(map, data, z) {
358
300
  /**
359
301
  * add all the map layers and objects to the given container.
360
302
  * note : this will not automatically update the camera viewport
361
- * @name TMXTileMap#addTo
362
- * @public
363
303
  * @param {Container} container - target container
364
304
  * @param {boolean} [flatten=true] - if true, flatten all objects into the given container, else a `me.Container` object will be created for each corresponding groups
365
305
  * @param {boolean} [setViewportBounds=false] - if true, set the viewport bounds to the map size, this should be set to true especially if adding a level to the game world container.
@@ -434,8 +374,6 @@ function readObjectGroup(map, data, z) {
434
374
 
435
375
  /**
436
376
  * return an Array of instantiated objects, based on the map object definition
437
- * @name TMXTileMap#getObjects
438
- * @public
439
377
  * @param {boolean} [flatten=true] - if true, flatten all objects into the returned array.
440
378
  * when false, a `me.Container` object will be created for each corresponding groups
441
379
  * @returns {Renderable[]} Array of Objects
@@ -606,8 +544,6 @@ function readObjectGroup(map, data, z) {
606
544
 
607
545
  /**
608
546
  * return all the existing layers
609
- * @name TMXTileMap#getLayers
610
- * @public
611
547
  * @returns {TMXLayer[]} Array of Layers
612
548
  */
613
549
  getLayers() {
@@ -618,8 +554,6 @@ function readObjectGroup(map, data, z) {
618
554
 
619
555
  /**
620
556
  * destroy function, clean all allocated objects
621
- * @name TMXTileMap#destroy
622
- * @public
623
557
  */
624
558
  destroy() {
625
559
  this.tilesets = undefined;
@@ -48,25 +48,19 @@ import loader from "./../../loader/loader.js";
48
48
 
49
49
  /**
50
50
  * Tileset contains animated tiles
51
- * @public
52
51
  * @type {boolean}
53
- * @name TMXTileset#isAnimated
54
52
  */
55
53
  this.isAnimated = false;
56
54
 
57
55
  /**
58
56
  * true if the tileset is a "Collection of Image" Tileset
59
- * @public
60
57
  * @type {boolean}
61
- * @name TMXTileset#isCollection
62
58
  */
63
59
  this.isCollection = false;
64
60
 
65
61
  /**
66
62
  * the tileset class
67
- * @public
68
63
  * @type {boolean}
69
- * @name TMXTileset#class
70
64
  */
71
65
  this.class = tileset.class;
72
66
 
@@ -172,8 +166,6 @@ import loader from "./../../loader/loader.js";
172
166
 
173
167
  /**
174
168
  * return the tile image from a "Collection of Image" tileset
175
- * @name TMXTileset#getTileImage
176
- * @public
177
169
  * @param {number} gid
178
170
  * @returns {Image} corresponding image or undefined
179
171
  */
@@ -193,8 +185,6 @@ import loader from "./../../loader/loader.js";
193
185
 
194
186
  /**
195
187
  * return true if the gid belongs to the tileset
196
- * @name TMXTileset#contains
197
- * @public
198
188
  * @param {number} gid
199
189
  * @returns {boolean}
200
190
  */
@@ -204,8 +194,6 @@ import loader from "./../../loader/loader.js";
204
194
 
205
195
  /**
206
196
  * Get the view (local) tile ID from a GID, with animations applied
207
- * @name TMXTileset#getViewTileId
208
- * @public
209
197
  * @param {number} gid - Global tile ID
210
198
  * @returns {number} View tile ID
211
199
  */
@@ -222,8 +210,6 @@ import loader from "./../../loader/loader.js";
222
210
 
223
211
  /**
224
212
  * return the properties of the specified tile
225
- * @name TMXTileset#getTileProperties
226
- * @public
227
213
  * @param {number} tileId
228
214
  * @returns {object}
229
215
  */
@@ -1,6 +1,4 @@
1
-
2
- // bitmask constants to check for flipped & rotated tiles
3
- const TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
1
+ import { TMX_CLEAR_BIT_MASK } from "./constants";
4
2
 
5
3
  /**
6
4
  * @classdesc
@@ -15,8 +13,6 @@ const TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
15
13
 
16
14
  /**
17
15
  * add a tileset to the tileset group
18
- * @name TMXTilesetGroup#add
19
- * @public
20
16
  * @param {TMXTileset} tileset
21
17
  */
22
18
  add(tileset) {
@@ -26,8 +22,6 @@ const TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
26
22
 
27
23
  /**
28
24
  * return the tileset at the specified index
29
- * @name TMXTilesetGroup#getTilesetByIndex
30
- * @public
31
25
  * @param {number} i
32
26
  * @returns {TMXTileset} corresponding tileset
33
27
  */
@@ -38,8 +32,6 @@ const TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
38
32
  /**
39
33
  * return the tileset corresponding to the specified id <br>
40
34
  * will throw an exception if no matching tileset is found
41
- * @name TMXTilesetGroup#getTilesetByGid
42
- * @public
43
35
  * @param {number} gid
44
36
  * @returns {TMXTileset} corresponding tileset
45
37
  */
@@ -1,4 +1,4 @@
1
- import * as stringUtil from "./../../utils/string.js";
1
+ import { isBoolean, isNumeric } from "../../utils/string";
2
2
 
3
3
  /**
4
4
  * set and interpret a TMX property value
@@ -25,11 +25,11 @@ function setTMXValue(name, type, value) {
25
25
 
26
26
  default :
27
27
  // try to parse it anyway
28
- if (!value || stringUtil.isBoolean(value)) {
28
+ if (!value || isBoolean(value)) {
29
29
  // if value not defined or boolean
30
30
  value = value ? (value === "true") : true;
31
31
  }
32
- else if (stringUtil.isNumeric(value)) {
32
+ else if (isNumeric(value)) {
33
33
  // check if numeric
34
34
  value = Number(value);
35
35
  }
@@ -188,13 +188,37 @@ export function normalize(obj, item) {
188
188
  switch (nodeName) {
189
189
  case "data":
190
190
  var data = parse(item);
191
- // #956 Support for Infinite map
192
- // workaround to prevent the parsing code from crashing
193
- data.text = data.text || data.chunk.text;
194
- // When no encoding is given, the tiles are stored as individual XML tile elements.
191
+
195
192
  data.encoding = data.encoding || "xml";
196
- obj.data = decode(data.text, data.encoding, data.compression);
197
- obj.encoding = "none";
193
+
194
+ // decode chunks for infinite maps
195
+ if (typeof data.chunks !== "undefined") {
196
+ obj.chunks = obj.chunks || [];
197
+ // infinite maps containing chunk data
198
+ data.chunks.forEach((chunk) => {
199
+ obj.chunks.push({
200
+ x: +chunk.x,
201
+ y: +chunk.y,
202
+ // chunk width is in tiles
203
+ width: +chunk.width,
204
+ // chunk height is in tiles
205
+ height: +chunk.height,
206
+ data: decode(chunk.text, data.encoding, data.compression)
207
+ });
208
+ });
209
+ obj.encoding = "none";
210
+ }
211
+ // Bug on if condition: when parsing data, data.text is sometimes defined when chunks are present
212
+ if (typeof data.text !== "undefined" && typeof obj.chunks === "undefined") {
213
+ // Finite maps
214
+ obj.data = decode(data.text, data.encoding, data.compression);
215
+ obj.encoding = "none";
216
+ }
217
+ break;
218
+
219
+ case "chunk":
220
+ obj.chunks = obj.chunks || [];
221
+ obj.chunks.push(parse(item));
198
222
  break;
199
223
 
200
224
  case "imagelayer":
@@ -303,16 +327,15 @@ export function parse(xml) {
303
327
 
304
328
  // do children
305
329
  if (xml.hasChildNodes()) {
306
- for (var i = 0; i < xml.childNodes.length; i++) {
307
- var item = xml.childNodes.item(i);
308
-
309
- switch (item.nodeType) {
330
+ let children = xml.childNodes;
331
+ for (const node of children) {
332
+ switch (node.nodeType) {
310
333
  case 1:
311
- normalize(obj, item);
334
+ normalize(obj, node);
312
335
  break;
313
336
 
314
337
  case 3:
315
- text += item.nodeValue.trim();
338
+ text += node.nodeValue.trim();
316
339
  break;
317
340
  }
318
341
  }
@@ -0,0 +1,8 @@
1
+ // bitmask constants to check for flipped & rotated tiles
2
+ export const TMX_FLIP_H = 0x80000000;
3
+ export const TMX_FLIP_V = 0x40000000;
4
+ export const TMX_FLIP_AD = 0x20000000;
5
+ export const TMX_CLEAR_BIT_MASK = ~(TMX_FLIP_H | TMX_FLIP_V | TMX_FLIP_AD);
6
+
7
+ // constant to identify the collision object layer
8
+ export const COLLISION_GROUP = "collision";
@@ -79,10 +79,7 @@ const offsetsStaggerY = [
79
79
 
80
80
  /**
81
81
  * return the bounding rect for this map renderer
82
- * @name TMXHexagonalRenderer#getBounds
83
- * @public
84
- * @param {TMXLayer} [layer] - calculate the bounding rect for a specific layer (will return a new bounds object)
85
- * @returns {Bounds}
82
+ * @ignore
86
83
  */
87
84
  getBounds(layer) {
88
85
  var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
@@ -418,7 +415,8 @@ const offsetsStaggerY = [
418
415
 
419
416
  startPos = this.tileToPixelCoords(
420
417
  startTile.x + layer.pos.x,
421
- startTile.y + layer.pos.y
418
+ startTile.y + layer.pos.y,
419
+ startPos
422
420
  );
423
421
 
424
422
  var staggeredRow = this.doStaggerX(startTile.x + layer.pos.x);
@@ -460,7 +458,8 @@ const offsetsStaggerY = [
460
458
 
461
459
  startPos = this.tileToPixelCoords(
462
460
  startTile.x + layer.pos.x,
463
- startTile.y + layer.pos.y
461
+ startTile.y + layer.pos.y,
462
+ startPos
464
463
  );
465
464
 
466
465
  // Odd row shifting is applied in the rendering loop, so un-apply it here
@@ -39,10 +39,7 @@ import TMXLayer from "./../TMXLayer.js";
39
39
 
40
40
  /**
41
41
  * return the bounding rect for this map renderer
42
- * @name TMXIsometricRenderer#getBounds
43
- * @public
44
- * @param {TMXLayer} [layer] - calculate the bounding rect for a specific layer (will return a new bounds object)
45
- * @returns {Bounds}
42
+ * @ignore
46
43
  */
47
44
  getBounds(layer) {
48
45
  var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
@@ -25,8 +25,6 @@ import Bounds from "./../../../physics/bounds.js";
25
25
 
26
26
  /**
27
27
  * return true if the renderer can render the specified map or layer
28
- * @name TMXRenderer#canRender
29
- * @public
30
28
  * @param {TMXTileMap|TMXLayer} component - TMX Map or Layer
31
29
  * @returns {boolean}
32
30
  */
@@ -45,8 +43,6 @@ import Bounds from "./../../../physics/bounds.js";
45
43
 
46
44
  /**
47
45
  * return the bounding rect for this map renderer
48
- * @name TMXRenderer#getBounds
49
- * @public
50
46
  * @param {TMXLayer} [layer] - calculate the bounding rect for a specific layer (will return a new bounds object)
51
47
  * @returns {Bounds}
52
48
  */
@@ -62,8 +58,6 @@ import Bounds from "./../../../physics/bounds.js";
62
58
 
63
59
  /**
64
60
  * return the tile position corresponding to the specified pixel
65
- * @name TMXRenderer#pixelToTileCoords
66
- * @public
67
61
  * @param {number} x - X coordinate
68
62
  * @param {number} y - Y coordinate
69
63
  * @param {Vector2d} [v] - an optional vector object where to put the return values
@@ -75,8 +69,6 @@ import Bounds from "./../../../physics/bounds.js";
75
69
 
76
70
  /**
77
71
  * return the pixel position corresponding of the specified tile
78
- * @name TMXRenderer#tileToPixelCoords
79
- * @public
80
72
  * @param {number} col - tile horizontal position
81
73
  * @param {number} row - tile vertical position
82
74
  * @param {Vector2d} [v] - an optional vector object where to put the return values
@@ -88,8 +80,6 @@ import Bounds from "./../../../physics/bounds.js";
88
80
 
89
81
  /**
90
82
  * draw the given tile at the specified layer
91
- * @name TMXRenderer#drawTile
92
- * @public
93
83
  * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer object
94
84
  * @param {number} x - X coordinate where to draw the tile
95
85
  * @param {number} y - Y coordinate where to draw the tile
@@ -100,8 +90,6 @@ import Bounds from "./../../../physics/bounds.js";
100
90
 
101
91
  /**
102
92
  * draw the given TMX Layer for the given area
103
- * @name TMXRenderer#drawTileLayer
104
- * @public
105
93
  * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer object
106
94
  * @param {TMXLayer} layer - a TMX Layer object
107
95
  * @param {Rect} rect - the area of the layer to draw
@@ -0,0 +1,29 @@
1
+ import TMXOrthogonalRenderer from "./TMXOrthogonalRenderer.js";
2
+ import TMXIsometricRenderer from "./TMXIsometricRenderer.js";
3
+ import TMXHexagonalRenderer from "./TMXHexagonalRenderer.js";
4
+ import TMXStaggeredRenderer from "./TMXStaggeredRenderer.js";
5
+
6
+ /**
7
+ * return a compatible renderer object for the given map
8
+ * @param {TMXTileMap} map
9
+ * @ignore
10
+ */
11
+ export function getNewTMXRenderer(map) {
12
+ switch (map.orientation) {
13
+ case "orthogonal":
14
+ return new TMXOrthogonalRenderer(map);
15
+
16
+ case "isometric":
17
+ return new TMXIsometricRenderer(map);
18
+
19
+ case "hexagonal":
20
+ return new TMXHexagonalRenderer(map);
21
+
22
+ case "staggered":
23
+ return new TMXStaggeredRenderer(map);
24
+
25
+ // if none found, throw an exception
26
+ default:
27
+ throw new Error(map.orientation + " type TMX Tile Map not supported!");
28
+ }
29
+ }
@@ -199,11 +199,13 @@ function preloadTMX(tmxData, onload, onerror) {
199
199
  break;
200
200
 
201
201
  case "json":
202
+ case "tmj":
203
+ case "tsj":
202
204
  result = JSON.parse(xmlhttp.responseText);
203
205
  break;
204
206
 
205
207
  default:
206
- throw new Error("TMX file format " + format + "not supported !");
208
+ throw new Error("TMX file format " + format + " not supported !");
207
209
  }
208
210
 
209
211
  //set the TMX content
@@ -1,4 +1,4 @@
1
- import game from "./../game.js";
1
+ import { game } from "../index.js";
2
2
  import { renderer } from "./../video/video.js";
3
3
  import * as event from "./../system/event.js";
4
4
  import Sprite from "./../renderable/sprite.js";
@@ -1,4 +1,4 @@
1
- import { rayCast } from "./detector.js";
1
+ import { game } from "../index.js";
2
2
 
3
3
  /**
4
4
  * Collision detection (and projection-based collision response) of 2D shapes.<br>
@@ -117,7 +117,7 @@ var collision = {
117
117
  * // ...
118
118
  * }
119
119
  */
120
- rayCast(line, result) { return rayCast(line, result); }
120
+ rayCast(line, result) { return game.world.detector.rayCast(line, result); }
121
121
  };
122
122
 
123
123
  export default collision;