melonjs 15.0.0 → 15.1.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 (285) hide show
  1. package/README.md +4 -4
  2. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  5. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  6. package/dist/melonjs.mjs/_virtual/index.js +7 -3
  7. package/dist/melonjs.mjs/_virtual/index2.js +1 -1
  8. package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
  9. package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
  10. package/dist/melonjs.mjs/application/application.js +27 -17
  11. package/dist/melonjs.mjs/application/header.js +6 -5
  12. package/dist/melonjs.mjs/application/resize.js +20 -20
  13. package/dist/melonjs.mjs/application/settings.js +1 -1
  14. package/dist/melonjs.mjs/audio/audio.js +17 -17
  15. package/dist/melonjs.mjs/camera/camera2d.js +10 -10
  16. package/dist/melonjs.mjs/const.js +1 -1
  17. package/dist/melonjs.mjs/entity/entity.js +4 -4
  18. package/dist/melonjs.mjs/geometries/ellipse.js +6 -6
  19. package/dist/melonjs.mjs/geometries/line.js +9 -9
  20. package/dist/melonjs.mjs/geometries/path2d.js +53 -53
  21. package/dist/melonjs.mjs/geometries/point.js +2 -2
  22. package/dist/melonjs.mjs/geometries/poly.js +29 -29
  23. package/dist/melonjs.mjs/geometries/rectangle.js +8 -8
  24. package/dist/melonjs.mjs/geometries/roundrect.js +6 -6
  25. package/dist/melonjs.mjs/index.js +5 -5
  26. package/dist/melonjs.mjs/input/gamepad.js +30 -30
  27. package/dist/melonjs.mjs/input/input.js +2 -2
  28. package/dist/melonjs.mjs/input/keyboard.js +15 -15
  29. package/dist/melonjs.mjs/input/pointer.js +2 -2
  30. package/dist/melonjs.mjs/input/pointerevent.js +58 -58
  31. package/dist/melonjs.mjs/lang/console.js +3 -3
  32. package/dist/melonjs.mjs/lang/deprecated.js +2 -2
  33. package/dist/melonjs.mjs/level/level.js +9 -9
  34. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +3 -3
  35. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +31 -31
  36. package/dist/melonjs.mjs/level/tiled/TMXObject.js +8 -8
  37. package/dist/melonjs.mjs/level/tiled/TMXTile.js +8 -8
  38. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +19 -19
  39. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +15 -15
  40. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -3
  41. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +46 -41
  42. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +30 -30
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +21 -21
  45. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +10 -10
  46. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  47. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +6 -6
  48. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  49. package/dist/melonjs.mjs/loader/cache.js +1 -1
  50. package/dist/melonjs.mjs/loader/loader.js +7 -7
  51. package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
  52. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  53. package/dist/melonjs.mjs/loader/parser.js +13 -13
  54. package/dist/melonjs.mjs/loader/settings.js +3 -3
  55. package/dist/melonjs.mjs/math/color.js +21 -21
  56. package/dist/melonjs.mjs/math/math.js +2 -2
  57. package/dist/melonjs.mjs/math/matrix2.js +22 -22
  58. package/dist/melonjs.mjs/math/matrix3.js +52 -52
  59. package/dist/melonjs.mjs/math/observable_vector2.js +12 -12
  60. package/dist/melonjs.mjs/math/observable_vector3.js +22 -22
  61. package/dist/melonjs.mjs/math/vector2.js +11 -11
  62. package/dist/melonjs.mjs/math/vector3.js +21 -21
  63. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +45 -0
  64. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +130 -0
  65. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
  66. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
  67. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +1 -1
  68. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
  69. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  70. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
  71. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  72. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  73. package/dist/melonjs.mjs/particles/emitter.js +5 -5
  74. package/dist/melonjs.mjs/particles/particle.js +8 -8
  75. package/dist/melonjs.mjs/particles/settings.js +3 -3
  76. package/dist/melonjs.mjs/physics/body.js +17 -17
  77. package/dist/melonjs.mjs/physics/bounds.js +12 -12
  78. package/dist/melonjs.mjs/physics/collision.js +3 -3
  79. package/dist/melonjs.mjs/physics/detector.js +14 -14
  80. package/dist/melonjs.mjs/physics/quadtree.js +19 -19
  81. package/dist/melonjs.mjs/physics/response.js +1 -1
  82. package/dist/melonjs.mjs/physics/sat.js +60 -60
  83. package/dist/melonjs.mjs/physics/world.js +4 -4
  84. package/dist/melonjs.mjs/plugin/plugin.js +11 -11
  85. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  86. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  87. package/dist/melonjs.mjs/renderable/container.js +107 -63
  88. package/dist/melonjs.mjs/renderable/dragndrop.js +5 -5
  89. package/dist/melonjs.mjs/renderable/imagelayer.js +7 -6
  90. package/dist/melonjs.mjs/renderable/light2d.js +6 -6
  91. package/dist/melonjs.mjs/renderable/nineslicesprite.js +12 -12
  92. package/dist/melonjs.mjs/renderable/renderable.js +11 -11
  93. package/dist/melonjs.mjs/renderable/sprite.js +25 -25
  94. package/dist/melonjs.mjs/renderable/trigger.js +11 -9
  95. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +97 -27
  96. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +25 -25
  97. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +83 -63
  98. package/dist/melonjs.mjs/state/stage.js +7 -7
  99. package/dist/melonjs.mjs/state/state.js +15 -15
  100. package/dist/melonjs.mjs/system/device.js +2 -2
  101. package/dist/melonjs.mjs/system/dom.js +1 -1
  102. package/dist/melonjs.mjs/system/event.js +2 -2
  103. package/dist/melonjs.mjs/system/platform.js +1 -1
  104. package/dist/melonjs.mjs/system/pooling.js +9 -9
  105. package/dist/melonjs.mjs/system/save.js +6 -6
  106. package/dist/melonjs.mjs/system/timer.js +16 -12
  107. package/dist/melonjs.mjs/text/bitmaptext.js +20 -20
  108. package/dist/melonjs.mjs/text/bitmaptextdata.js +22 -22
  109. package/dist/melonjs.mjs/text/glyph.js +3 -3
  110. package/dist/melonjs.mjs/text/text.js +10 -9
  111. package/dist/melonjs.mjs/text/textmetrics.js +15 -15
  112. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  113. package/dist/melonjs.mjs/tweens/easing.js +4 -4
  114. package/dist/melonjs.mjs/tweens/interpolation.js +8 -8
  115. package/dist/melonjs.mjs/tweens/tween.js +11 -11
  116. package/dist/melonjs.mjs/utils/agent.js +6 -6
  117. package/dist/melonjs.mjs/utils/array.js +4 -4
  118. package/dist/melonjs.mjs/utils/file.js +1 -1
  119. package/dist/melonjs.mjs/utils/function.js +5 -5
  120. package/dist/melonjs.mjs/utils/string.js +3 -3
  121. package/dist/melonjs.mjs/utils/utils.js +16 -16
  122. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +35 -109
  123. package/dist/melonjs.mjs/video/renderer.js +74 -7
  124. package/dist/melonjs.mjs/video/texture/atlas.js +37 -37
  125. package/dist/melonjs.mjs/video/texture/cache.js +9 -10
  126. package/dist/melonjs.mjs/video/texture/canvas_texture.js +63 -3
  127. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  128. package/dist/melonjs.mjs/video/video.js +2 -2
  129. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
  130. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +5 -5
  131. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
  132. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +18 -15
  133. package/dist/melonjs.mjs/video/webgl/glshader.js +7 -7
  134. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  136. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  137. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  138. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
  139. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  140. package/dist/melonjs.mjs/video/webgl/utils/program.js +7 -7
  141. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  142. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +4 -4
  143. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +55 -38
  144. package/dist/melonjs.module.js +1777 -1813
  145. package/dist/types/application/application.d.ts +11 -8
  146. package/dist/types/audio/audio.d.ts +3 -3
  147. package/dist/types/index.d.ts +4 -3
  148. package/dist/types/input/input.d.ts +1 -1
  149. package/dist/types/input/keyboard.d.ts +1 -1
  150. package/dist/types/input/pointerevent.d.ts +6 -6
  151. package/dist/types/level/level.d.ts +2 -2
  152. package/dist/types/level/tiled/TMXLayer.d.ts +4 -4
  153. package/dist/types/level/tiled/TMXTileMap.d.ts +2 -2
  154. package/dist/types/level/tiled/TMXUtils.d.ts +5 -4
  155. package/dist/types/loader/loader.d.ts +2 -2
  156. package/dist/types/loader/settings.d.ts +2 -2
  157. package/dist/types/particles/emitter.d.ts +1 -1
  158. package/dist/types/physics/collision.d.ts +1 -1
  159. package/dist/types/physics/detector.d.ts +1 -1
  160. package/dist/types/plugin/plugin.d.ts +2 -2
  161. package/dist/types/renderable/container.d.ts +21 -17
  162. package/dist/types/renderable/sprite.d.ts +11 -11
  163. package/dist/types/renderable/trigger.d.ts +1 -1
  164. package/dist/types/renderable/ui/uibaseelement.d.ts +28 -6
  165. package/dist/types/renderable/ui/uispriteelement.d.ts +12 -14
  166. package/dist/types/renderable/ui/uitextbutton.d.ts +52 -11
  167. package/dist/types/state/stage.d.ts +1 -1
  168. package/dist/types/system/device.d.ts +1 -1
  169. package/dist/types/system/pooling.d.ts +3 -3
  170. package/dist/types/system/timer.d.ts +5 -5
  171. package/dist/types/text/bitmaptext.d.ts +1 -1
  172. package/dist/types/text/text.d.ts +1 -1
  173. package/dist/types/utils/array.d.ts +2 -2
  174. package/dist/types/video/canvas/canvas_renderer.d.ts +8 -76
  175. package/dist/types/video/renderer.d.ts +48 -0
  176. package/dist/types/video/texture/atlas.d.ts +3 -3
  177. package/dist/types/video/texture/canvas_texture.d.ts +40 -0
  178. package/dist/types/video/webgl/glshader.d.ts +1 -1
  179. package/dist/types/video/webgl/webgl_renderer.d.ts +13 -9
  180. package/package.json +14 -14
  181. package/src/application/application.js +26 -16
  182. package/src/application/header.js +5 -4
  183. package/src/application/resize.js +19 -19
  184. package/src/audio/audio.js +16 -16
  185. package/src/camera/camera2d.js +9 -9
  186. package/src/entity/entity.js +3 -3
  187. package/src/geometries/ellipse.js +5 -5
  188. package/src/geometries/line.js +8 -8
  189. package/src/geometries/path2d.js +52 -52
  190. package/src/geometries/point.js +1 -1
  191. package/src/geometries/poly.js +28 -28
  192. package/src/geometries/rectangle.js +7 -7
  193. package/src/geometries/roundrect.js +5 -5
  194. package/src/index.js +3 -2
  195. package/src/input/gamepad.js +29 -29
  196. package/src/input/input.js +1 -1
  197. package/src/input/keyboard.js +14 -14
  198. package/src/input/pointer.js +1 -1
  199. package/src/input/pointerevent.js +52 -52
  200. package/src/lang/console.js +2 -2
  201. package/src/lang/deprecated.js +1 -1
  202. package/src/level/level.js +8 -8
  203. package/src/level/tiled/TMXGroup.js +2 -2
  204. package/src/level/tiled/TMXLayer.js +30 -30
  205. package/src/level/tiled/TMXObject.js +7 -7
  206. package/src/level/tiled/TMXTile.js +7 -7
  207. package/src/level/tiled/TMXTileMap.js +18 -18
  208. package/src/level/tiled/TMXTileset.js +14 -14
  209. package/src/level/tiled/TMXTilesetGroup.js +2 -2
  210. package/src/level/tiled/TMXUtils.js +45 -40
  211. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +29 -29
  212. package/src/level/tiled/renderer/TMXIsometricRenderer.js +20 -20
  213. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +9 -9
  214. package/src/level/tiled/renderer/TMXRenderer.js +1 -1
  215. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +5 -5
  216. package/src/loader/loader.js +6 -6
  217. package/src/loader/loadingscreen.js +1 -1
  218. package/src/loader/parser.js +12 -12
  219. package/src/loader/settings.js +2 -2
  220. package/src/math/color.js +20 -20
  221. package/src/math/math.js +1 -1
  222. package/src/math/matrix2.js +21 -21
  223. package/src/math/matrix3.js +51 -51
  224. package/src/math/observable_vector2.js +11 -11
  225. package/src/math/observable_vector3.js +21 -21
  226. package/src/math/vector2.js +10 -10
  227. package/src/math/vector3.js +20 -20
  228. package/src/particles/emitter.js +4 -4
  229. package/src/particles/particle.js +7 -7
  230. package/src/particles/settings.js +2 -2
  231. package/src/physics/body.js +16 -16
  232. package/src/physics/bounds.js +11 -11
  233. package/src/physics/collision.js +2 -2
  234. package/src/physics/detector.js +13 -13
  235. package/src/physics/quadtree.js +18 -18
  236. package/src/physics/sat.js +59 -59
  237. package/src/physics/world.js +3 -3
  238. package/src/plugin/plugin.js +8 -8
  239. package/src/renderable/collectable.js +1 -1
  240. package/src/renderable/container.js +106 -62
  241. package/src/renderable/dragndrop.js +4 -4
  242. package/src/renderable/imagelayer.js +6 -5
  243. package/src/renderable/light2d.js +5 -5
  244. package/src/renderable/nineslicesprite.js +11 -11
  245. package/src/renderable/renderable.js +10 -10
  246. package/src/renderable/sprite.js +24 -24
  247. package/src/renderable/trigger.js +10 -8
  248. package/src/renderable/ui/uibaseelement.js +96 -26
  249. package/src/renderable/ui/uispriteelement.js +24 -24
  250. package/src/renderable/ui/uitextbutton.js +85 -65
  251. package/src/state/stage.js +6 -6
  252. package/src/state/state.js +14 -14
  253. package/src/system/device.js +1 -1
  254. package/src/system/event.js +1 -1
  255. package/src/system/pooling.js +8 -8
  256. package/src/system/save.js +5 -5
  257. package/src/system/timer.js +15 -11
  258. package/src/text/bitmaptext.js +19 -19
  259. package/src/text/bitmaptextdata.js +21 -21
  260. package/src/text/glyph.js +2 -2
  261. package/src/text/text.js +9 -8
  262. package/src/text/textmetrics.js +14 -14
  263. package/src/tweens/easing.js +3 -3
  264. package/src/tweens/interpolation.js +7 -7
  265. package/src/tweens/tween.js +10 -10
  266. package/src/utils/agent.js +5 -5
  267. package/src/utils/array.js +3 -3
  268. package/src/utils/function.js +4 -4
  269. package/src/utils/string.js +2 -2
  270. package/src/utils/utils.js +15 -15
  271. package/src/video/canvas/canvas_renderer.js +34 -108
  272. package/src/video/renderer.js +72 -5
  273. package/src/video/texture/atlas.js +36 -36
  274. package/src/video/texture/cache.js +6 -6
  275. package/src/video/texture/canvas_texture.js +62 -2
  276. package/src/video/video.js +1 -1
  277. package/src/video/webgl/buffer/vertex.js +2 -2
  278. package/src/video/webgl/compositors/compositor.js +4 -4
  279. package/src/video/webgl/compositors/primitive_compositor.js +4 -4
  280. package/src/video/webgl/compositors/quad_compositor.js +17 -14
  281. package/src/video/webgl/glshader.js +6 -6
  282. package/src/video/webgl/utils/attributes.js +1 -1
  283. package/src/video/webgl/utils/program.js +6 -6
  284. package/src/video/webgl/utils/uniforms.js +3 -3
  285. package/src/video/webgl/webgl_renderer.js +54 -37
@@ -1,18 +1,18 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.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
6
6
  * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
- import { isBoolean, isNumeric } from '../../utils/string.js';
8
+ import utils from '../../utils/utils.js';
9
9
 
10
10
  /**
11
11
  * set and interpret a TMX property value
12
12
  * @ignore
13
13
  */
14
14
  function setTMXValue(name, type, value) {
15
- var match;
15
+ let match;
16
16
 
17
17
  if (typeof(value) !== "string") {
18
18
  // Value is already normalized (e.g. with JSON maps)
@@ -32,11 +32,11 @@ function setTMXValue(name, type, value) {
32
32
 
33
33
  default :
34
34
  // try to parse it anyway
35
- if (!value || isBoolean(value)) {
35
+ if (!value || utils.string.isBoolean(value)) {
36
36
  // if value not defined or boolean
37
37
  value = value ? (value === "true") : true;
38
38
  }
39
- else if (isNumeric(value)) {
39
+ else if (utils.string.isNumeric(value)) {
40
40
  // check if numeric
41
41
  value = Number(value);
42
42
  }
@@ -89,8 +89,8 @@ function setTMXValue(name, type, value) {
89
89
  function parseAttributes(obj, elt) {
90
90
  // do attributes
91
91
  if (elt.attributes && elt.attributes.length > 0) {
92
- for (var j = 0; j < elt.attributes.length; j++) {
93
- var attribute = elt.attributes.item(j);
92
+ for (let j = 0; j < elt.attributes.length; j++) {
93
+ let attribute = elt.attributes.item(j);
94
94
  if (typeof(attribute.name) !== "undefined") {
95
95
  // DOM4 (Attr no longer inherit from Node)
96
96
  obj[attribute.name] = attribute.value;
@@ -103,14 +103,19 @@ function parseAttributes(obj, elt) {
103
103
  }
104
104
 
105
105
  /**
106
- * decompress zlib/gzip data (NOT IMPLEMENTED)
106
+ * decompress and decode zlib/gzip data
107
107
  * @ignore
108
108
  * @name decompress
109
- * @param {number[]} data- - Array of bytes
110
- * @param {string} format- - compressed data format ("gzip","zlib")
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
111
112
  */
112
- function decompress() {
113
- throw new Error("GZIP/ZLIB compressed TMX Tile Map not supported!");
113
+ function decompress(data, format) {
114
+ if (typeof utils.inflateb64 === "function") {
115
+ return utils.inflateb64(data, format);
116
+ } else {
117
+ throw new Error("GZIP/ZLIB compressed TMX Tile Map not supported!");
118
+ }
114
119
  }
115
120
 
116
121
  /**
@@ -121,10 +126,10 @@ function decompress() {
121
126
  * @returns {number[]} Decoded data
122
127
  */
123
128
  function decodeCSV(input) {
124
- var entries = input.replace("\n", "").trim().split(",");
129
+ let entries = input.replace("\n", "").trim().split(",");
125
130
 
126
- var result = [];
127
- for (var i = 0; i < entries.length; i++) {
131
+ let result = [];
132
+ for (let i = 0; i < entries.length; i++) {
128
133
  result.push(+entries[i]);
129
134
  }
130
135
  return result;
@@ -141,9 +146,9 @@ function decodeCSV(input) {
141
146
  function decodeBase64AsArray(input, bytes) {
142
147
  bytes = bytes || 1;
143
148
 
144
- var i, j, len;
145
- var dec = globalThis.atob(input.replace(/[^A-Za-z0-9\+\/\=]/g, ""));
146
- var ar = new Uint32Array(dec.length / bytes);
149
+ let i, j, len;
150
+ let dec = globalThis.atob(input.replace(/[^A-Za-z0-9\+\/\=]/g, ""));
151
+ let ar = new Uint32Array(dec.length / bytes);
147
152
 
148
153
  for (i = 0, len = dec.length / bytes; i < len; i++) {
149
154
  ar[i] = 0;
@@ -167,12 +172,12 @@ function decode(data, encoding, compression) {
167
172
  return decodeCSV(data);
168
173
 
169
174
  case "base64":
170
- var decoded = decodeBase64AsArray(data, 4);
171
- return (
172
- (compression === "none") ?
173
- decoded :
174
- decompress()
175
- );
175
+ if (compression !== "none") {
176
+ data = decompress(data, compression);
177
+ } else {
178
+ data = decodeBase64AsArray(data, 4);
179
+ }
180
+ return data;
176
181
 
177
182
  case "none":
178
183
  return data;
@@ -190,11 +195,11 @@ function decode(data, encoding, compression) {
190
195
  * @ignore
191
196
  */
192
197
  function normalize(obj, item) {
193
- var nodeName = item.nodeName;
198
+ let nodeName = item.nodeName;
194
199
 
195
200
  switch (nodeName) {
196
201
  case "data":
197
- var data = parse(item);
202
+ var data = parse(item); // <= "Unexpected lexical declaration in case block" if using let
198
203
 
199
204
  data.encoding = data.encoding || "xml";
200
205
 
@@ -232,7 +237,7 @@ function normalize(obj, item) {
232
237
  case "layer":
233
238
  case "objectgroup":
234
239
  case "group":
235
- var layer = parse(item);
240
+ var layer = parse(item); // // <= "Unexpected lexical declaration in case block" if using let
236
241
  layer.type = (nodeName === "layer" ? "tilelayer" : nodeName);
237
242
  if (layer.image) {
238
243
  layer.image = layer.image.source;
@@ -248,13 +253,13 @@ function normalize(obj, item) {
248
253
 
249
254
  case "frame":
250
255
  case "object":
251
- var name = nodeName + "s";
256
+ var name = nodeName + "s"; // <= "Unexpected lexical declaration in case block" if using let
252
257
  obj[name] = obj[name] || [];
253
258
  obj[name].push(parse(item));
254
259
  break;
255
260
 
256
261
  case "tile":
257
- var tile = parse(item);
262
+ var tile = parse(item); // <= "Unexpected lexical declaration in case block" if using let
258
263
  if (tile.image) {
259
264
  tile.imagewidth = tile.image.width;
260
265
  tile.imageheight = tile.image.height;
@@ -265,7 +270,7 @@ function normalize(obj, item) {
265
270
  break;
266
271
 
267
272
  case "tileset":
268
- var tileset = parse(item);
273
+ var tileset = parse(item); // <= "Unexpected lexical declaration in case block" if using let
269
274
  if (tileset.image) {
270
275
  tileset.imagewidth = tileset.image.width;
271
276
  tileset.imageheight = tileset.image.height;
@@ -281,10 +286,10 @@ function normalize(obj, item) {
281
286
  obj[nodeName] = [];
282
287
 
283
288
  // Get a point array
284
- var points = parse(item).points.split(" ");
289
+ var points = parse(item).points.split(" "); // <= "Unexpected lexical declaration in case block" if using let
285
290
 
286
291
  // And normalize them into an array of vectors
287
- for (var i = 0, v; i < points.length; i++) {
292
+ for (let i = 0, v; i < points.length; i++) {
288
293
  v = points[i].split(",");
289
294
  obj[nodeName].push({
290
295
  "x" : +v[0],
@@ -299,7 +304,7 @@ function normalize(obj, item) {
299
304
  break;
300
305
 
301
306
  case "property":
302
- var property = parse(item);
307
+ var property = parse(item); // <= "Unexpected lexical declaration in case block" if using let
303
308
  // for custom properties, text is used
304
309
  var value = (typeof property.value !== "undefined") ? property.value : property.text;
305
310
 
@@ -323,9 +328,9 @@ function normalize(obj, item) {
323
328
  */
324
329
  function parse(xml) {
325
330
  // Create the return object
326
- var obj = {};
331
+ let obj = {};
327
332
 
328
- var text = "";
333
+ let text = "";
329
334
 
330
335
  if (xml.nodeType === 1) {
331
336
  // do attributes
@@ -360,14 +365,14 @@ function parse(xml) {
360
365
  * @ignore
361
366
  */
362
367
  function applyTMXProperties(obj, data) {
363
- var properties = data.properties;
364
- var types = data.propertytypes;
368
+ let properties = data.properties;
369
+ let types = data.propertytypes;
365
370
  if (typeof(properties) !== "undefined") {
366
- for (var property in properties) {
371
+ for (let property in properties) {
367
372
  if (properties.hasOwnProperty(property)) {
368
- var type = "string";
369
- var name = property;
370
- var value = properties[property];
373
+ let type = "string";
374
+ let name = property;
375
+ let value = properties[property];
371
376
  // proof-check for new and old JSON format
372
377
  if (typeof properties[property].name !== "undefined") {
373
378
  name = properties[property].name;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.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.0.0
2
+ * melonJS Game Engine - v15.1.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
@@ -10,7 +10,7 @@ import pool from '../../../system/pooling.js';
10
10
  import TMXRenderer from './TMXRenderer.js';
11
11
  import TMXLayer from '../TMXLayer.js';
12
12
 
13
- // scope global var & constants
13
+ // scope global variables & constants
14
14
  const offsetsStaggerX = [
15
15
  {x: 0, y: 0},
16
16
  {x: + 1, y: - 1},
@@ -87,7 +87,7 @@ const offsetsStaggerY = [
87
87
  * @ignore
88
88
  */
89
89
  getBounds(layer) {
90
- var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
90
+ let bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
91
91
 
92
92
  // The map size is the same regardless of which indexes are shifted.
93
93
  if (this.staggerX) {
@@ -130,7 +130,7 @@ const offsetsStaggerY = [
130
130
  * @ignore
131
131
  */
132
132
  topLeft(x, y, v) {
133
- var ret = v || new Vector2d();
133
+ let ret = v || new Vector2d();
134
134
 
135
135
  if (!this.staggerX) {
136
136
  if ((y & 1) ^ this.staggerEven) {
@@ -154,7 +154,7 @@ const offsetsStaggerY = [
154
154
  * @ignore
155
155
  */
156
156
  topRight(x, y, v) {
157
- var ret = v || new Vector2d();
157
+ let ret = v || new Vector2d();
158
158
 
159
159
  if (!this.staggerX) {
160
160
  if ((y & 1) ^ this.staggerEven) {
@@ -179,7 +179,7 @@ const offsetsStaggerY = [
179
179
  * @ignore
180
180
  */
181
181
  bottomLeft(x, y, v) {
182
- var ret = v || new Vector2d();
182
+ let ret = v || new Vector2d();
183
183
 
184
184
  if (!this.staggerX) {
185
185
  if ((y & 1) ^ this.staggerEven) {
@@ -203,7 +203,7 @@ const offsetsStaggerY = [
203
203
  * @ignore
204
204
  */
205
205
  bottomRight(x, y, v) {
206
- var ret = v || new Vector2d();
206
+ let ret = v || new Vector2d();
207
207
 
208
208
  if (!this.staggerX) {
209
209
  if ((y & 1) ^ this.staggerEven) {
@@ -228,7 +228,7 @@ const offsetsStaggerY = [
228
228
  * @ignore
229
229
  */
230
230
  pixelToTileCoords(x, y, v) {
231
- var ret = v || new Vector2d();
231
+ let ret = v || new Vector2d();
232
232
 
233
233
  if (this.staggerX) { //flat top
234
234
  x -= this.staggerEven ? this.tilewidth : this.sideoffsetx;
@@ -238,13 +238,13 @@ const offsetsStaggerY = [
238
238
  }
239
239
 
240
240
  // Start with the coordinates of a grid-aligned tile
241
- var referencePoint = pool.pull("Vector2d",
241
+ let referencePoint = pool.pull("Vector2d",
242
242
  Math.floor(x / (this.columnwidth * 2)),
243
243
  Math.floor((y / (this.rowheight * 2)))
244
244
  );
245
245
 
246
246
  // Relative x and y position on the base square of the grid-aligned tile
247
- var rel = pool.pull("Vector2d",
247
+ let rel = pool.pull("Vector2d",
248
248
  x - referencePoint.x * (this.columnwidth * 2),
249
249
  y - referencePoint.y * (this.rowheight * 2)
250
250
  );
@@ -264,7 +264,7 @@ const offsetsStaggerY = [
264
264
  }
265
265
 
266
266
  // Determine the nearest hexagon tile by the distance to the center
267
- var left, top, centerX, centerY;
267
+ let left, top, centerX, centerY;
268
268
  if (this.staggerX) {
269
269
  left = this.sidelengthx / 2;
270
270
  centerX = left + this.columnwidth;
@@ -286,17 +286,17 @@ const offsetsStaggerY = [
286
286
  this.centers[3].set(centerX, centerY + this.rowheight);
287
287
  }
288
288
 
289
- var nearest = 0;
290
- var minDist = Number.MAX_VALUE;
291
- for (var i = 0; i < 4; ++i) {
292
- var dc = this.centers[i].sub(rel).length2();
289
+ let nearest = 0;
290
+ let minDist = Number.MAX_VALUE;
291
+ for (let i = 0; i < 4; ++i) {
292
+ let dc = this.centers[i].sub(rel).length2();
293
293
  if (dc < minDist) {
294
294
  minDist = dc;
295
295
  nearest = i;
296
296
  }
297
297
  }
298
298
 
299
- var offsets = (this.staggerX) ? offsetsStaggerX : offsetsStaggerY;
299
+ let offsets = (this.staggerX) ? offsetsStaggerX : offsetsStaggerY;
300
300
 
301
301
  ret.set(
302
302
  referencePoint.x + offsets[nearest].x,
@@ -314,9 +314,9 @@ const offsetsStaggerY = [
314
314
  * @ignore
315
315
  */
316
316
  tileToPixelCoords(x, y, v) {
317
- var tileX = Math.floor(x),
317
+ let tileX = Math.floor(x),
318
318
  tileY = Math.floor(y);
319
- var ret = v || new Vector2d();
319
+ let ret = v || new Vector2d();
320
320
 
321
321
  if (this.staggerX) {
322
322
  ret.y = tileY * (this.tileheight + this.sidelengthy);
@@ -354,8 +354,8 @@ const offsetsStaggerY = [
354
354
  * @ignore
355
355
  */
356
356
  drawTile(renderer, x, y, tmxTile) {
357
- var tileset = tmxTile.tileset;
358
- var point = this.tileToPixelCoords(x, y, pool.pull("Vector2d"));
357
+ let tileset = tmxTile.tileset;
358
+ let point = this.tileToPixelCoords(x, y, pool.pull("Vector2d"));
359
359
 
360
360
  // draw the tile
361
361
  tileset.drawTile(
@@ -373,10 +373,10 @@ const offsetsStaggerY = [
373
373
  * @ignore
374
374
  */
375
375
  drawTileLayer(renderer, layer, rect) {
376
- var tile;
376
+ let tile;
377
377
 
378
378
  // get top-left and bottom-right tile position
379
- var startTile = this.pixelToTileCoords(
379
+ let startTile = this.pixelToTileCoords(
380
380
  rect.pos.x,
381
381
  rect.pos.y,
382
382
  pool.pull("Vector2d")
@@ -386,22 +386,22 @@ const offsetsStaggerY = [
386
386
  startTile.sub(layer.pos);
387
387
 
388
388
  // get top-left and bottom-right tile position
389
- var startPos = this.tileToPixelCoords(
389
+ let startPos = this.tileToPixelCoords(
390
390
  startTile.x + layer.pos.x,
391
391
  startTile.y + layer.pos.y,
392
392
  pool.pull("Vector2d")
393
393
  );
394
394
 
395
- var rowTile = startTile.clone();
396
- var rowPos = startPos.clone();
395
+ let rowTile = startTile.clone();
396
+ let rowPos = startPos.clone();
397
397
 
398
398
  /* Determine in which half of the tile the top-left corner of the area we
399
399
  * need to draw is. If we're in the upper half, we need to start one row
400
400
  * up due to those tiles being visible as well. How we go up one row
401
401
  * depends on whether we're in the left or right half of the tile.
402
402
  */
403
- var inUpperHalf = rect.pos.y - startPos.y < this.sideoffsety;
404
- var inLeftHalf = rect.pos.x - startPos.x < this.sideoffsetx;
403
+ let inUpperHalf = rect.pos.y - startPos.y < this.sideoffsety;
404
+ let inLeftHalf = rect.pos.x - startPos.x < this.sideoffsetx;
405
405
 
406
406
  if (inUpperHalf) {
407
407
  startTile.y--;
@@ -410,8 +410,8 @@ const offsetsStaggerY = [
410
410
  startTile.x--;
411
411
  }
412
412
 
413
- var endX = layer.cols;
414
- var endY = layer.rows;
413
+ let endX = layer.cols;
414
+ let endY = layer.rows;
415
415
 
416
416
  if (this.staggerX) {
417
417
  //ensure we are in the valid tile range
@@ -424,7 +424,7 @@ const offsetsStaggerY = [
424
424
  startPos
425
425
  );
426
426
 
427
- var staggeredRow = this.doStaggerX(startTile.x + layer.pos.x);
427
+ let staggeredRow = this.doStaggerX(startTile.x + layer.pos.x);
428
428
 
429
429
  // main drawing loop
430
430
  for (; startPos.y < rect.bottom && startTile.y < endY; ) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.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
@@ -48,7 +48,7 @@ import TMXLayer from '../TMXLayer.js';
48
48
  * @ignore
49
49
  */
50
50
  getBounds(layer) {
51
- var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
51
+ let bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
52
52
  bounds.setMinMax(
53
53
  0, 0,
54
54
  (this.cols + this.rows) * (this.tilewidth / 2),
@@ -62,7 +62,7 @@ import TMXLayer from '../TMXLayer.js';
62
62
  * @ignore
63
63
  */
64
64
  pixelToTileCoords(x, y, v) {
65
- var ret = v || new Vector2d();
65
+ let ret = v || new Vector2d();
66
66
  return ret.set(
67
67
  (y / this.tileheight) + ((x - this.originX) / this.tilewidth),
68
68
  (y / this.tileheight) - ((x - this.originX) / this.tilewidth)
@@ -74,7 +74,7 @@ import TMXLayer from '../TMXLayer.js';
74
74
  * @ignore
75
75
  */
76
76
  tileToPixelCoords(x, y, v) {
77
- var ret = v || new Vector2d();
77
+ let ret = v || new Vector2d();
78
78
  return ret.set(
79
79
  (x - y) * this.hTilewidth + this.originX,
80
80
  (x + y) * this.hTileheight
@@ -87,9 +87,9 @@ import TMXLayer from '../TMXLayer.js';
87
87
  * @ignore
88
88
  */
89
89
  adjustPosition(obj) {
90
- var tileX = obj.x / this.hTilewidth;
91
- var tileY = obj.y / this.tileheight;
92
- var isoPos = pool.pull("Vector2d");
90
+ let tileX = obj.x / this.hTilewidth;
91
+ let tileY = obj.y / this.tileheight;
92
+ let isoPos = pool.pull("Vector2d");
93
93
 
94
94
  this.tileToPixelCoords(tileX, tileY, isoPos);
95
95
 
@@ -104,7 +104,7 @@ import TMXLayer from '../TMXLayer.js';
104
104
  * @ignore
105
105
  */
106
106
  drawTile(renderer, x, y, tmxTile) {
107
- var tileset = tmxTile.tileset;
107
+ let tileset = tmxTile.tileset;
108
108
  // draw the tile
109
109
  tileset.drawTile(
110
110
  renderer,
@@ -120,24 +120,24 @@ import TMXLayer from '../TMXLayer.js';
120
120
  */
121
121
  drawTileLayer(renderer, layer, rect) {
122
122
  // cache a couple of useful references
123
- var tileset = layer.tileset;
123
+ let tileset = layer.tileset;
124
124
 
125
125
  // get top-left and bottom-right tile position
126
- var rowItr = this.pixelToTileCoords(
126
+ let rowItr = this.pixelToTileCoords(
127
127
  rect.pos.x - tileset.tilewidth,
128
128
  rect.pos.y - tileset.tileheight,
129
129
  pool.pull("Vector2d")
130
130
  ).floorSelf();
131
- var tileEnd = this.pixelToTileCoords(
131
+ let tileEnd = this.pixelToTileCoords(
132
132
  rect.pos.x + rect.width + tileset.tilewidth,
133
133
  rect.pos.y + rect.height + tileset.tileheight,
134
134
  pool.pull("Vector2d")
135
135
  ).ceilSelf();
136
136
 
137
- var rectEnd = this.tileToPixelCoords(tileEnd.x, tileEnd.y, pool.pull("Vector2d"));
137
+ let rectEnd = this.tileToPixelCoords(tileEnd.x, tileEnd.y, pool.pull("Vector2d"));
138
138
 
139
139
  // Determine the tile and pixel coordinates to start at
140
- var startPos = this.tileToPixelCoords(rowItr.x, rowItr.y, pool.pull("Vector2d"));
140
+ let startPos = this.tileToPixelCoords(rowItr.x, rowItr.y, pool.pull("Vector2d"));
141
141
  startPos.x -= this.hTilewidth;
142
142
  startPos.y += this.tileheight;
143
143
 
@@ -146,8 +146,8 @@ import TMXLayer from '../TMXLayer.js';
146
146
  * up due to those tiles being visible as well. How we go up one row
147
147
  * depends on whether we're in the left or right half of the tile.
148
148
  */
149
- var inUpperHalf = startPos.y - rect.pos.y > this.hTileheight;
150
- var inLeftHalf = rect.pos.x - startPos.x < this.hTilewidth;
149
+ let inUpperHalf = startPos.y - rect.pos.y > this.hTileheight;
150
+ let inLeftHalf = rect.pos.x - startPos.x < this.hTilewidth;
151
151
 
152
152
  if (inUpperHalf) {
153
153
  if (inLeftHalf) {
@@ -162,21 +162,21 @@ import TMXLayer from '../TMXLayer.js';
162
162
  }
163
163
 
164
164
  // Determine whether the current row is shifted half a tile to the right
165
- var shifted = inUpperHalf ^ inLeftHalf;
165
+ let shifted = inUpperHalf ^ inLeftHalf;
166
166
 
167
167
  // initialize the columItr vector
168
- var columnItr = rowItr.clone();
168
+ let columnItr = rowItr.clone();
169
169
 
170
170
  // main drawing loop
171
- for (var y = startPos.y * 2; y - this.tileheight * 2 < rectEnd.y * 2; y += this.tileheight) {
171
+ for (let y = startPos.y * 2; y - this.tileheight * 2 < rectEnd.y * 2; y += this.tileheight) {
172
172
  columnItr.setV(rowItr);
173
- for (var x = startPos.x; x < rectEnd.x; x += this.tilewidth) {
174
- var tmxTile = layer.cellAt(columnItr.x, columnItr.y);
173
+ for (let x = startPos.x; x < rectEnd.x; x += this.tilewidth) {
174
+ let tmxTile = layer.cellAt(columnItr.x, columnItr.y);
175
175
  // render if a valid tile position
176
176
  if (tmxTile) {
177
177
  tileset = tmxTile.tileset;
178
178
  // offset could be different per tileset
179
- var offset = tileset.tileoffset;
179
+ let offset = tileset.tileoffset;
180
180
  // draw our tile
181
181
  tileset.drawTile(
182
182
  renderer,
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.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
@@ -43,7 +43,7 @@ import TMXRenderer from './TMXRenderer.js';
43
43
  * @ignore
44
44
  */
45
45
  pixelToTileCoords(x, y, v) {
46
- var ret = v || new Vector2d();
46
+ let ret = v || new Vector2d();
47
47
  return ret.set(
48
48
  x / this.tilewidth,
49
49
  y / this.tileheight
@@ -56,7 +56,7 @@ import TMXRenderer from './TMXRenderer.js';
56
56
  * @ignore
57
57
  */
58
58
  tileToPixelCoords(x, y, v) {
59
- var ret = v || new Vector2d();
59
+ let ret = v || new Vector2d();
60
60
  return ret.set(
61
61
  x * this.tilewidth,
62
62
  y * this.tileheight
@@ -82,7 +82,7 @@ import TMXRenderer from './TMXRenderer.js';
82
82
  * @ignore
83
83
  */
84
84
  drawTile(renderer, x, y, tmxTile) {
85
- var tileset = tmxTile.tileset;
85
+ let tileset = tmxTile.tileset;
86
86
  // draw the tile
87
87
  tileset.drawTile(
88
88
  renderer,
@@ -97,16 +97,16 @@ import TMXRenderer from './TMXRenderer.js';
97
97
  * @ignore
98
98
  */
99
99
  drawTileLayer(renderer, layer, rect) {
100
- var incX = 1, incY = 1;
100
+ let incX = 1, incY = 1;
101
101
 
102
102
  // get top-left and bottom-right tile position
103
- var start = this.pixelToTileCoords(
103
+ let start = this.pixelToTileCoords(
104
104
  Math.max(rect.pos.x - (layer.maxTileSize.width - layer.tilewidth), 0),
105
105
  Math.max(rect.pos.y - (layer.maxTileSize.height - layer.tileheight), 0),
106
106
  pool.pull("Vector2d")
107
107
  ).floorSelf();
108
108
 
109
- var end = this.pixelToTileCoords(
109
+ let end = this.pixelToTileCoords(
110
110
  rect.pos.x + rect.width + this.tilewidth,
111
111
  rect.pos.y + rect.height + this.tileheight,
112
112
  pool.pull("Vector2d")
@@ -138,9 +138,9 @@ import TMXRenderer from './TMXRenderer.js';
138
138
  }
139
139
 
140
140
  // main drawing loop
141
- for (var y = start.y; y !== end.y; y+= incY) {
142
- for (var x = start.x; x !== end.x; x+= incX) {
143
- var tmxTile = layer.cellAt(x, y, false);
141
+ for (let y = start.y; y !== end.y; y+= incY) {
142
+ for (let x = start.x; x !== end.x; x+= incX) {
143
+ let tmxTile = layer.cellAt(x, y, false);
144
144
  if (tmxTile) {
145
145
  this.drawTile(renderer, x, y, tmxTile);
146
146
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.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
@@ -54,7 +54,7 @@ import Bounds from '../../../physics/bounds.js';
54
54
  * @returns {Bounds}
55
55
  */
56
56
  getBounds(layer) {
57
- var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
57
+ let bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
58
58
  bounds.setMinMax(
59
59
  0, 0,
60
60
  this.cols * this.tilewidth,
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.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
@@ -33,9 +33,9 @@ import { degToRad } from '../../../math/math.js';
33
33
  * @ignore
34
34
  */
35
35
  pixelToTileCoords(x, y, v) {
36
- var ret = v || new Vector2d();
36
+ let ret = v || new Vector2d();
37
37
 
38
- var alignedX = x,
38
+ let alignedX = x,
39
39
  alignedY = y;
40
40
 
41
41
  if (this.staggerX) {
@@ -45,7 +45,7 @@ import { degToRad } from '../../../math/math.js';
45
45
  }
46
46
 
47
47
  // Start with the coordinates of a grid-aligned tile
48
- var referencePoint = pool.pull("Vector2d",
48
+ let referencePoint = pool.pull("Vector2d",
49
49
  Math.floor(alignedX / this.tilewidth),
50
50
  Math.floor(alignedY / this.tileheight)
51
51
  );
@@ -64,13 +64,13 @@ import { degToRad } from '../../../math/math.js';
64
64
  }
65
65
 
66
66
  // Relative x and y position on the base square of the grid-aligned tile
67
- var rel = pool.pull("Vector2d",
67
+ let rel = pool.pull("Vector2d",
68
68
  alignedX - referencePoint.x * this.tilewidth,
69
69
  alignedY - referencePoint.y * this.tileheight
70
70
  );
71
71
 
72
72
  // Check whether the cursor is in any of the corners (neighboring tiles)
73
- var y_pos = rel.x * (this.tileheight / this.tilewidth);
73
+ let y_pos = rel.x * (this.tileheight / this.tilewidth);
74
74
 
75
75
  if (this.sideoffsety - y_pos > rel.y) {
76
76
  referencePoint = this.topLeft(referencePoint.x, referencePoint.y, referencePoint);