melonjs 14.4.0 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +13 -57
  3. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
  5. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  6. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  7. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  8. package/dist/melonjs.mjs/_virtual/index2.js +1 -1
  9. package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
  10. package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
  11. package/dist/melonjs.mjs/application/application.js +1 -1
  12. package/dist/melonjs.mjs/application/header.js +1 -1
  13. package/dist/melonjs.mjs/application/resize.js +1 -1
  14. package/dist/melonjs.mjs/application/settings.js +1 -1
  15. package/dist/melonjs.mjs/audio/audio.js +5 -7
  16. package/dist/melonjs.mjs/camera/camera2d.js +1 -1
  17. package/dist/melonjs.mjs/const.js +1 -1
  18. package/dist/melonjs.mjs/entity/entity.js +43 -9
  19. package/dist/melonjs.mjs/geometries/ellipse.js +2 -3
  20. package/dist/melonjs.mjs/geometries/line.js +1 -1
  21. package/dist/melonjs.mjs/geometries/path2d.js +20 -44
  22. package/dist/melonjs.mjs/geometries/point.js +1 -6
  23. package/dist/melonjs.mjs/geometries/poly.js +2 -5
  24. package/dist/melonjs.mjs/geometries/rectangle.js +13 -9
  25. package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
  26. package/dist/melonjs.mjs/index.js +10 -6
  27. package/dist/melonjs.mjs/input/gamepad.js +10 -16
  28. package/dist/melonjs.mjs/input/input.js +1 -1
  29. package/dist/melonjs.mjs/input/keyboard.js +1 -1
  30. package/dist/melonjs.mjs/input/pointer.js +1 -1
  31. package/dist/melonjs.mjs/input/pointerevent.js +3 -17
  32. package/dist/melonjs.mjs/lang/console.js +1 -1
  33. package/dist/melonjs.mjs/lang/deprecated.js +1 -1
  34. package/dist/melonjs.mjs/level/level.js +3 -3
  35. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  36. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -8
  37. package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
  39. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +8 -4
  40. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +5 -5
  41. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
  42. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
  45. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  46. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  47. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
  48. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  49. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  50. package/dist/melonjs.mjs/loader/cache.js +24 -0
  51. package/dist/melonjs.mjs/loader/loader.js +331 -716
  52. package/dist/melonjs.mjs/loader/loadingscreen.js +4 -4
  53. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  54. package/dist/melonjs.mjs/loader/parser.js +281 -0
  55. package/dist/melonjs.mjs/loader/settings.js +91 -0
  56. package/dist/melonjs.mjs/math/color.js +9 -8
  57. package/dist/melonjs.mjs/math/math.js +1 -1
  58. package/dist/melonjs.mjs/math/matrix2.js +7 -9
  59. package/dist/melonjs.mjs/math/matrix3.js +18 -21
  60. package/dist/melonjs.mjs/math/observable_vector2.js +3 -3
  61. package/dist/melonjs.mjs/math/observable_vector3.js +3 -4
  62. package/dist/melonjs.mjs/math/vector2.js +3 -3
  63. package/dist/melonjs.mjs/math/vector3.js +3 -4
  64. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
  65. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
  66. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +1 -1
  67. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
  68. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  69. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  70. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  71. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  72. package/dist/melonjs.mjs/particles/emitter.js +3 -3
  73. package/dist/melonjs.mjs/particles/particle.js +1 -1
  74. package/dist/melonjs.mjs/particles/settings.js +1 -1
  75. package/dist/melonjs.mjs/physics/body.js +18 -14
  76. package/dist/melonjs.mjs/physics/bounds.js +18 -70
  77. package/dist/melonjs.mjs/physics/collision.js +1 -1
  78. package/dist/melonjs.mjs/physics/detector.js +1 -1
  79. package/dist/melonjs.mjs/physics/quadtree.js +1 -1
  80. package/dist/melonjs.mjs/physics/response.js +1 -1
  81. package/dist/melonjs.mjs/physics/sat.js +1 -1
  82. package/dist/melonjs.mjs/physics/world.js +1 -1
  83. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  84. package/dist/melonjs.mjs/renderable/collectable.js +1 -1
  85. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  86. package/dist/melonjs.mjs/renderable/container.js +25 -19
  87. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  88. package/dist/melonjs.mjs/renderable/imagelayer.js +7 -1
  89. package/dist/melonjs.mjs/renderable/light2d.js +1 -1
  90. package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
  91. package/dist/melonjs.mjs/renderable/renderable.js +148 -105
  92. package/dist/melonjs.mjs/renderable/sprite.js +33 -54
  93. package/dist/melonjs.mjs/renderable/trigger.js +1 -1
  94. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
  95. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
  96. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -3
  97. package/dist/melonjs.mjs/state/stage.js +1 -1
  98. package/dist/melonjs.mjs/state/state.js +2 -2
  99. package/dist/melonjs.mjs/system/device.js +2 -2
  100. package/dist/melonjs.mjs/system/dom.js +1 -1
  101. package/dist/melonjs.mjs/system/event.js +1 -1
  102. package/dist/melonjs.mjs/system/platform.js +1 -1
  103. package/dist/melonjs.mjs/system/pooling.js +8 -18
  104. package/dist/melonjs.mjs/system/save.js +1 -1
  105. package/dist/melonjs.mjs/system/timer.js +1 -1
  106. package/dist/melonjs.mjs/text/bitmaptext.js +66 -8
  107. package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
  108. package/dist/melonjs.mjs/text/glyph.js +1 -1
  109. package/dist/melonjs.mjs/text/text.js +56 -86
  110. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  111. package/dist/melonjs.mjs/text/textstyle.js +4 -6
  112. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  113. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  114. package/dist/melonjs.mjs/tweens/tween.js +1 -1
  115. package/dist/melonjs.mjs/utils/agent.js +1 -1
  116. package/dist/melonjs.mjs/utils/array.js +1 -1
  117. package/dist/melonjs.mjs/utils/file.js +1 -1
  118. package/dist/melonjs.mjs/utils/function.js +1 -1
  119. package/dist/melonjs.mjs/utils/string.js +2 -2
  120. package/dist/melonjs.mjs/utils/utils.js +2 -4
  121. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +7 -11
  122. package/dist/melonjs.mjs/video/renderer.js +2 -13
  123. package/dist/melonjs.mjs/video/texture/atlas.js +12 -17
  124. package/dist/melonjs.mjs/video/texture/cache.js +3 -3
  125. package/dist/melonjs.mjs/video/texture/canvas_texture.js +1 -1
  126. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  127. package/dist/melonjs.mjs/video/video.js +2 -2
  128. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +21 -17
  129. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +235 -0
  130. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +77 -0
  131. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +249 -0
  132. package/dist/melonjs.mjs/video/webgl/{webgl_compositor.js → compositors/webgl_compositor.js} +20 -205
  133. package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
  134. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
  136. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  137. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
  138. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  139. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  140. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  141. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  142. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  143. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +139 -149
  144. package/dist/melonjs.module.js +26320 -26376
  145. package/dist/types/entity/entity.d.ts +3 -3
  146. package/dist/types/geometries/path2d.d.ts +5 -31
  147. package/dist/types/geometries/point.d.ts +2 -7
  148. package/dist/types/geometries/poly.d.ts +0 -1
  149. package/dist/types/index.d.ts +5 -3
  150. package/dist/types/loader/cache.d.ts +7 -0
  151. package/dist/types/loader/loader.d.ts +166 -181
  152. package/dist/types/loader/parser.d.ts +41 -0
  153. package/dist/types/loader/settings.d.ts +57 -0
  154. package/dist/types/particles/emitter.d.ts +4 -4
  155. package/dist/types/physics/bounds.d.ts +29 -84
  156. package/dist/types/renderable/container.d.ts +0 -11
  157. package/dist/types/renderable/renderable.d.ts +43 -31
  158. package/dist/types/renderable/sprite.d.ts +3 -3
  159. package/dist/types/renderable/ui/uitextbutton.d.ts +0 -1
  160. package/dist/types/state/state.d.ts +1 -1
  161. package/dist/types/system/pooling.d.ts +2 -2
  162. package/dist/types/text/text.d.ts +6 -20
  163. package/dist/types/text/textstyle.d.ts +1 -1
  164. package/dist/types/video/canvas/canvas_renderer.d.ts +0 -5
  165. package/dist/types/video/renderer.d.ts +1 -5
  166. package/dist/types/video/webgl/buffer/vertex.d.ts +3 -3
  167. package/dist/types/video/webgl/compositors/compositor.d.ts +107 -0
  168. package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +22 -0
  169. package/dist/types/video/webgl/compositors/quad_compositor.d.ts +72 -0
  170. package/dist/types/video/webgl/compositors/webgl_compositor.d.ts +86 -0
  171. package/dist/types/video/webgl/webgl_compositor.d.ts +2 -3
  172. package/dist/types/video/webgl/webgl_renderer.d.ts +34 -28
  173. package/package.json +18 -18
  174. package/src/audio/audio.js +4 -6
  175. package/src/entity/entity.js +42 -8
  176. package/src/geometries/ellipse.js +1 -2
  177. package/src/geometries/path2d.js +19 -43
  178. package/src/geometries/point.js +0 -5
  179. package/src/geometries/poly.js +1 -4
  180. package/src/geometries/rectangle.js +12 -8
  181. package/src/index.js +7 -3
  182. package/src/input/gamepad.js +9 -15
  183. package/src/input/pointerevent.js +1 -15
  184. package/src/level/level.js +2 -2
  185. package/src/level/tiled/TMXLayer.js +0 -7
  186. package/src/level/tiled/TMXTileMap.js +7 -3
  187. package/src/level/tiled/TMXTileset.js +4 -4
  188. package/src/loader/cache.js +16 -0
  189. package/src/loader/loader.js +339 -711
  190. package/src/loader/loadingscreen.js +3 -3
  191. package/src/loader/parser.js +279 -0
  192. package/src/loader/settings.js +85 -0
  193. package/src/math/color.js +8 -7
  194. package/src/math/matrix2.js +6 -8
  195. package/src/math/matrix3.js +17 -20
  196. package/src/math/observable_vector2.js +2 -2
  197. package/src/math/observable_vector3.js +2 -3
  198. package/src/math/vector2.js +2 -2
  199. package/src/math/vector3.js +2 -3
  200. package/src/particles/emitter.js +2 -2
  201. package/src/physics/body.js +17 -13
  202. package/src/physics/bounds.js +17 -69
  203. package/src/polyfill/index.js +0 -2
  204. package/src/renderable/container.js +24 -18
  205. package/src/renderable/imagelayer.js +6 -0
  206. package/src/renderable/renderable.js +147 -104
  207. package/src/renderable/sprite.js +32 -53
  208. package/src/renderable/ui/uitextbutton.js +0 -2
  209. package/src/state/state.js +1 -1
  210. package/src/system/device.js +1 -1
  211. package/src/system/pooling.js +7 -17
  212. package/src/text/bitmaptext.js +65 -7
  213. package/src/text/text.js +55 -85
  214. package/src/text/textstyle.js +3 -5
  215. package/src/utils/string.js +1 -1
  216. package/src/utils/utils.js +1 -3
  217. package/src/video/canvas/canvas_renderer.js +5 -9
  218. package/src/video/renderer.js +0 -11
  219. package/src/video/texture/atlas.js +11 -16
  220. package/src/video/texture/cache.js +2 -2
  221. package/src/video/video.js +1 -1
  222. package/src/video/webgl/buffer/vertex.js +20 -16
  223. package/src/video/webgl/compositors/compositor.js +226 -0
  224. package/src/video/webgl/compositors/primitive_compositor.js +68 -0
  225. package/src/video/webgl/compositors/quad_compositor.js +240 -0
  226. package/src/video/webgl/shaders/primitive.vert +2 -5
  227. package/src/video/webgl/shaders/quad.vert +3 -1
  228. package/src/video/webgl/webgl_renderer.js +137 -147
  229. package/dist/melonjs.mjs/_virtual/make-built-in.js +0 -10
  230. package/dist/melonjs.mjs/_virtual/object-define-property.js +0 -10
  231. package/dist/melonjs.mjs/_virtual/object-get-own-property-descriptor.js +0 -10
  232. package/dist/melonjs.mjs/_virtual/object-get-own-property-names.js +0 -10
  233. package/dist/melonjs.mjs/_virtual/object-get-own-property-symbols.js +0 -10
  234. package/dist/melonjs.mjs/_virtual/object-property-is-enumerable.js +0 -10
  235. package/dist/melonjs.mjs/_virtual/shared.js +0 -10
  236. package/dist/melonjs.mjs/game.js +0 -29
  237. package/dist/melonjs.mjs/polyfill/console.js +0 -18
  238. package/dist/melonjs.mjs/polyfill/performance.js +0 -27
  239. package/dist/melonjs.mjs/polyfill/requestAnimationFrame.js +0 -46
  240. package/dist/melonjs.mjs/polyfill/roundrect.js +0 -242
  241. package/dist/melonjs.mjs/renderable/re_container.js +0 -1016
  242. package/dist/melonjs.mjs/video/utils/resize.js +0 -116
  243. package/src/polyfill/performance.js +0 -20
  244. package/src/polyfill/requestAnimationFrame.js +0 -39
  245. package/src/video/webgl/webgl_compositor.js +0 -486
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -84,7 +84,7 @@ import Polygon from './poly.js';
84
84
  */
85
85
  get right() {
86
86
  var w = this.width;
87
- return (this.pos.x + w) || w;
87
+ return (this.left + w) || w;
88
88
  }
89
89
 
90
90
  /**
@@ -107,7 +107,7 @@ import Polygon from './poly.js';
107
107
  */
108
108
  get bottom() {
109
109
  var h = this.height;
110
- return (this.pos.y + h) || h;
110
+ return (this.top + h) || h;
111
111
  }
112
112
 
113
113
  /**
@@ -151,13 +151,15 @@ import Polygon from './poly.js';
151
151
  */
152
152
  get centerX() {
153
153
  if (isFinite(this.width)) {
154
- return this.pos.x + (this.width / 2);
154
+ return this.left + (this.width / 2);
155
155
  } else {
156
156
  return this.width;
157
157
  }
158
158
  }
159
159
  set centerX (value) {
160
160
  this.pos.x = value - (this.width / 2);
161
+ this.recalc();
162
+ this.updateBounds();
161
163
  }
162
164
 
163
165
  /**
@@ -169,13 +171,15 @@ import Polygon from './poly.js';
169
171
  */
170
172
  get centerY() {
171
173
  if (isFinite(this.height)) {
172
- return this.pos.y + (this.height / 2);
174
+ return this.top + (this.height / 2);
173
175
  } else {
174
176
  return this.height;
175
177
  }
176
178
  }
177
179
  set centerY(value) {
178
180
  this.pos.y = value - (this.height / 2);
181
+ this.recalc();
182
+ this.updateBounds();
179
183
  }
180
184
 
181
185
  /**
@@ -227,7 +231,7 @@ import Polygon from './poly.js';
227
231
  * @returns {Rect} new rectangle
228
232
  */
229
233
  clone() {
230
- return new Rect(this.pos.x, this.pos.y, this.width, this.height);
234
+ return new Rect(this.left, this.top, this.width, this.height);
231
235
  }
232
236
 
233
237
  /**
@@ -238,7 +242,7 @@ import Polygon from './poly.js';
238
242
  * @returns {Rect} new rectangle
239
243
  */
240
244
  copy(rect) {
241
- return this.setShape(rect.pos.x, rect.pos.y, rect.width, rect.height);
245
+ return this.setShape(rect.left, rect.top, rect.width, rect.height);
242
246
  }
243
247
 
244
248
  /**
@@ -355,7 +359,7 @@ import Polygon from './poly.js';
355
359
  * @returns {boolean} false if all coordinates are positive or negative Infinity or NaN; otherwise, true.
356
360
  */
357
361
  isFinite() {
358
- return (isFinite(this.pos.x) && isFinite(this.pos.y) && isFinite(this.width) && isFinite(this.height));
362
+ return (isFinite(this.left) && isFinite(this.top) && isFinite(this.width) && isFinite(this.height));
359
363
  }
360
364
 
361
365
  /**
@@ -366,7 +370,7 @@ import Polygon from './poly.js';
366
370
  */
367
371
  toPolygon() {
368
372
  return pool.pull("Polygon",
369
- this.pos.x, this.pos.y, this.points
373
+ this.left, this.top, this.points
370
374
  );
371
375
  }
372
376
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -23,7 +23,9 @@ export { default as Body } from './physics/body.js';
23
23
  import Bounds from './physics/bounds.js';
24
24
  import Tween from './tweens/tween.js';
25
25
  export { default as GLShader } from './video/webgl/glshader.js';
26
- export { default as WebGLCompositor } from './video/webgl/webgl_compositor.js';
26
+ export { default as Compositor } from './video/webgl/compositors/compositor.js';
27
+ export { default as PrimitiveCompositor } from './video/webgl/compositors/primitive_compositor.js';
28
+ export { default as QuadCompositor } from './video/webgl/compositors/quad_compositor.js';
27
29
  export { default as Renderer } from './video/renderer.js';
28
30
  export { default as WebGLRenderer } from './video/webgl/webgl_renderer.js';
29
31
  export { default as CanvasRenderer } from './video/canvas/canvas_renderer.js';
@@ -73,7 +75,8 @@ export { event };
73
75
  import { onReady } from './system/device.js';
74
76
  import * as device from './system/device.js';
75
77
  export { device };
76
- import loader from './loader/loader.js';
78
+ import * as loader from './loader/loader.js';
79
+ export { loader };
77
80
  import * as math from './math/math.js';
78
81
  export { math as Math };
79
82
  import utils from './utils/utils.js';
@@ -89,6 +92,7 @@ export { default as state } from './state/state.js';
89
92
  export { default as level } from './level/level.js';
90
93
  export { DraggableEntity, DroptargetEntity, GUI_Object } from './lang/deprecated.js';
91
94
  export { AUTO, CANVAS, WEBGL } from './const.js';
95
+ import { setNocache } from './loader/settings.js';
92
96
  import { initKeyboardEvent } from './input/keyboard.js';
93
97
 
94
98
  // ES5/ES6 polyfills
@@ -101,7 +105,7 @@ import { initKeyboardEvent } from './input/keyboard.js';
101
105
  * @name version
102
106
  * @type {string}
103
107
  */
104
- const version = "14.4.0";
108
+ const version = "15.0.0";
105
109
 
106
110
  /**
107
111
  * a flag indicating that melonJS is fully initialized
@@ -209,7 +213,7 @@ function boot() {
209
213
  emit(BOOT);
210
214
 
211
215
  // enable/disable the cache
212
- loader.setNocache( utils.getUriFragment().nocache || false );
216
+ setNocache( utils.getUriFragment().nocache || false );
213
217
 
214
218
  // automatically enable keyboard events
215
219
  initKeyboardEvent();
@@ -225,4 +229,4 @@ onReady(() => {
225
229
  }
226
230
  });
227
231
 
228
- export { Application, BitmapText, BitmapTextData, Bounds, Collectable, Color, ColorLayer, Ellipse, Entity, ImageLayer, Light2d, Line, Matrix2d, Matrix3d, NineSliceSprite, ObservableVector2d, ObservableVector3d, Particle, Point, Polygon, Rect, Renderable, RoundRect, Sprite, Text, Trigger, Tween, Vector2d, Vector3d, boot, game, initialized, loader, pool, skipAutoInit, utils, version };
232
+ export { Application, BitmapText, BitmapTextData, Bounds, Collectable, Color, ColorLayer, Ellipse, Entity, ImageLayer, Light2d, Line, Matrix2d, Matrix3d, NineSliceSprite, ObservableVector2d, ObservableVector3d, Particle, Point, Polygon, Rect, Renderable, RoundRect, Sprite, Text, Trigger, Tween, Vector2d, Vector3d, boot, game, initialized, pool, skipAutoInit, utils, version };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -61,23 +61,17 @@ var leadingZeroRE = /^0+/;
61
61
  * @ignore
62
62
  */
63
63
  function addMapping(id, mapping) {
64
- var expanded_id = id.replace(vendorProductRE, (_, a, b) => {
65
- return (
66
- "000".slice(a.length - 1) + a + "-" +
67
- "000".slice(b.length - 1) + b + "-"
68
- );
69
- });
70
- var sparse_id = id.replace(vendorProductRE, (_, a, b) => {
71
- return (
72
- a.replace(leadingZeroRE, "") + "-" +
73
- b.replace(leadingZeroRE, "") + "-"
74
- );
75
- });
64
+ var expanded_id = id.replace(vendorProductRE, (_, a, b) =>
65
+ "000".slice(a.length - 1) + a + "-" +
66
+ "000".slice(b.length - 1) + b + "-"
67
+ );
68
+ var sparse_id = id.replace(vendorProductRE, (_, a, b) =>
69
+ a.replace(leadingZeroRE, "") + "-" +
70
+ b.replace(leadingZeroRE, "") + "-"
71
+ );
76
72
 
77
73
  // Normalize optional parameters
78
- mapping.analog = mapping.analog || mapping.buttons.map(() => {
79
- return -1;
80
- });
74
+ mapping.analog = mapping.analog || mapping.buttons.map(() => -1);
81
75
  mapping.normalize_fn = mapping.normalize_fn || function (value) { return value; };
82
76
 
83
77
  remap.set(expanded_id, mapping);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -13,7 +13,7 @@ import { remove } from '../utils/array.js';
13
13
  import { emit, POINTERLOCKCHANGE, POINTERMOVE } from '../system/event.js';
14
14
  import timer from '../system/timer.js';
15
15
  import pool from '../system/pooling.js';
16
- import { getElementBounds, hasPointerLockSupport, maxTouchPoints, pointerEvent, touch, focus, touchEvent } from '../system/device.js';
16
+ import { getElementBounds, hasPointerLockSupport, maxTouchPoints, touch, pointerEvent, focus, touchEvent } from '../system/device.js';
17
17
  import Pointer from './pointer.js';
18
18
  import Rect from '../geometries/rectangle.js';
19
19
  import { game } from '../index.js';
@@ -322,21 +322,7 @@ function dispatchEvent(normalizedEvents) {
322
322
  pointer.gameLocalY = pointer.gameY - parentBounds.y;
323
323
  }
324
324
 
325
- var gameX = pointer.gameX;
326
- var gameY = pointer.gameY;
327
-
328
- // apply inverse transformation for renderable
329
- if (typeof region.currentTransform !== "undefined") {
330
- if (!region.currentTransform.isIdentity()) {
331
- var invV = region.currentTransform.applyInverse(
332
- pool.pull("Vector2d", gameX, gameY)
333
- );
334
- gameX = invV.x;
335
- gameY = invV.y;
336
- pool.push(invV);
337
- }
338
- }
339
- eventInBounds = bounds.contains(gameX, gameY);
325
+ eventInBounds = bounds.contains(pointer.gameX, pointer.gameY);
340
326
 
341
327
  switch (pointer.type) {
342
328
  case POINTER_MOVE[0]:
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -8,7 +8,7 @@
8
8
  import utils from '../utils/utils.js';
9
9
  import { emit, LEVEL_LOADED } from '../system/event.js';
10
10
  import state from '../state/state.js';
11
- import loader from '../loader/loader.js';
11
+ import { getTMX } from '../loader/loader.js';
12
12
  import { game } from '../index.js';
13
13
  import TMXTileMap from './tiled/TMXTileMap.js';
14
14
 
@@ -101,7 +101,7 @@ var level = {
101
101
  // just load the level with the XML stuff
102
102
  if (levels[levelId] == null) {
103
103
  //console.log("loading "+ levelId);
104
- levels[levelId] = new TMXTileMap(levelId, loader.getTMX(levelId));
104
+ levels[levelId] = new TMXTileMap(levelId, getTMX(levelId));
105
105
  // level index
106
106
  levelIdx.push(levelId);
107
107
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -240,7 +240,6 @@ function preRenderLayer(layer, renderer) {
240
240
 
241
241
  }
242
242
 
243
-
244
243
  // called when the layer is added to the game world or a container
245
244
  onActivateEvent() {
246
245
 
@@ -264,10 +263,6 @@ function preRenderLayer(layer, renderer) {
264
263
  this.preRender = false;
265
264
  }
266
265
 
267
- // Resize the bounding rect
268
- this.getBounds().addBounds(this.getRenderer().getBounds(), true);
269
- this.getBounds().shift(this.pos);
270
-
271
266
  // if pre-rendering method is use, create an offline canvas/renderer
272
267
  if ((this.preRender === true) && (!this.canvasRenderer)) {
273
268
  this.canvasRenderer = new CanvasRenderer({
@@ -307,7 +302,6 @@ function preRenderLayer(layer, renderer) {
307
302
  return this.renderer;
308
303
  }
309
304
 
310
-
311
305
  /**
312
306
  * Return the TileId of the Tile at the specified position
313
307
  * @param {number} x - X coordinate (in world/pixels coordinates)
@@ -422,7 +416,6 @@ function preRenderLayer(layer, renderer) {
422
416
  }
423
417
  return result;
424
418
  }
425
-
426
419
  return false;
427
420
  }
428
421
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -202,11 +202,15 @@ function readObjectGroup(map, data, z) {
202
202
  // background color
203
203
  this.backgroundcolor = data.backgroundcolor;
204
204
 
205
- // deprecation warning if map tiled version is older than 1.5
206
- if (utils.checkVersion(this.version, "1.5") < 0) {
207
- warning("("+this.name+") Tiled Map format version 1.4 and below", "Tiled 1.5 or higher", "10.4.4");
205
+ // if version is undefined or empty it usually means the map was not created with Tiled
206
+ if (this.version !== "undefined" && this.version !== "") {
207
+ // deprecation warning if map tiled version is older than 1.5
208
+ if (utils.checkVersion(this.version, "1.5") < 0) {
209
+ warning("("+this.name+") Tiled Map format version 1.4 and below", "format 1.5 or higher", "10.4.4");
210
+ }
208
211
  }
209
212
 
213
+
210
214
  // set additional map properties (if any)
211
215
  applyTMXProperties(this, data);
212
216
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -9,7 +9,7 @@ import Vector2d from '../../math/vector2.js';
9
9
  import { renderer } from '../../video/video.js';
10
10
  import { getExtension, getBasename } from '../../utils/file.js';
11
11
  import timer from '../../system/timer.js';
12
- import loader from '../../loader/loader.js';
12
+ import { getTMX, getImage } from '../../loader/loader.js';
13
13
 
14
14
  /**
15
15
  * @classdesc
@@ -37,7 +37,7 @@ import loader from '../../loader/loader.js';
37
37
  var ext = getExtension(src);
38
38
  if (ext === "tsx" || ext === "json") {
39
39
  // load the external tileset (TSX/JSON)
40
- tileset = loader.getTMX(getBasename(src));
40
+ tileset = getTMX(getBasename(src));
41
41
  if (!tileset) {
42
42
  throw new Error(src + " external TSX/JSON tileset not found");
43
43
  }
@@ -108,7 +108,7 @@ import loader from '../../loader/loader.js';
108
108
  }
109
109
  }
110
110
  if ("image" in tiles[i]) {
111
- var image = loader.getImage(tiles[i].image);
111
+ var image = getImage(tiles[i].image);
112
112
  if (!image) {
113
113
  throw new Error("melonJS: '" + tiles[i].image + "' file for tile '" + (+i + this.firstgid) + "' not found!");
114
114
  }
@@ -139,7 +139,7 @@ import loader from '../../loader/loader.js';
139
139
  if (this.isCollection === false) {
140
140
 
141
141
  // get the global tileset texture
142
- this.image = loader.getImage(tileset.image);
142
+ this.image = getImage(tileset.image);
143
143
 
144
144
  if (!this.image) {
145
145
  throw new Error("melonJS: '" + tileset.image + "' file for tileset '" + this.name + "' not found!");
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.4.0
2
+ * melonJS Game Engine - v15.0.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -0,0 +1,24 @@
1
+ /*!
2
+ * melonJS Game Engine - v15.0.0
3
+ * http://www.melonjs.org
4
+ * melonjs is licensed under the MIT License.
5
+ * http://www.opensource.org/licenses/mit-license
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
+ */
8
+ /**
9
+ * where all preloaded content is cached
10
+ */
11
+
12
+ // contains all the images loaded
13
+ let imgList = {};
14
+
15
+ // contains all the TMX loaded
16
+ let tmxList = {};
17
+
18
+ // contains all the binary files loaded
19
+ let binList = {};
20
+
21
+ // contains all the JSON files
22
+ let jsonList = {};
23
+
24
+ export { binList, imgList, jsonList, tmxList };