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,8 +1,15 @@
1
- import { renderer } from "./../video/video.js";
1
+ import { autoDetectRenderer } from "../video/utils/autodetect.js";
2
+ import CanvasRenderer from "./../video/canvas/canvas_renderer.js";
3
+ import * as device from "./../system/device.js";
2
4
  import * as event from "./../system/event.js";
5
+ import utils from "./../utils/utils.js";
3
6
  import timer from "./../system/timer.js";
4
7
  import state from "./../state/state.js";
5
8
  import World from "./../physics/world.js";
9
+ import { onresize } from "./resize.js";
10
+ import { defaultSettings } from "./settings.js";
11
+ import { consoleHeader } from "./header.js";
12
+ import { CANVAS, WEBGL, AUTO } from "../const.js";
6
13
 
7
14
  /**
8
15
  * @classdesc
@@ -11,7 +18,26 @@ import World from "./../physics/world.js";
11
18
  * @see game
12
19
  */
13
20
  export default class Application {
14
- constructor() {
21
+ /**
22
+ * @param {number} width - The width of the canvas viewport
23
+ * @param {number} height - The height of the canvas viewport
24
+ * @param {object} [options] - The optional video/renderer parameters.<br> (see Renderer(s) documentation for further specific options)
25
+ * @param {string|HTMLElement} [options.parent=document.body] - the DOM parent element to hold the canvas in the HTML file
26
+ * @param {number|Renderer} [options.renderer=AUTO] - renderer to use (CANVAS, WEBGL, AUTO), or a custom renderer class
27
+ * @param {number|string} [options.scale=1.0] - enable scaling of the canvas ('auto' for automatic scaling)
28
+ * @param {string} [options.scaleMethod="fit"] - screen scaling modes ('fit','fill-min','fill-max','flex','flex-width','flex-height','stretch')
29
+ * @param {boolean} [options.preferWebGL1=false] - if true the renderer will only use WebGL 1
30
+ * @param {string} [options.powerPreference="default"] - a hint to the user agent indicating what configuration of GPU is suitable for the WebGL context ("default", "high-performance", "low-power"). To be noted that Safari and Chrome (since version 80) both default to "low-power" to save battery life and improve the user experience on these dual-GPU machines.
31
+ * @param {boolean} [options.transparent=false] - whether to allow transparent pixels in the front buffer (screen).
32
+ * @param {boolean} [options.antiAlias=false] - whether to enable or not video scaling interpolation
33
+ * @param {boolean} [options.consoleHeader=true] - whether to display melonJS version and basic device information in the console
34
+ * @throws Will throw an exception if it fails to instantiate a renderer
35
+ * @example
36
+ * var my game = new Application(640, 480, {renderer: me.video.AUTO}) {
37
+ * ....
38
+ * }
39
+ */
40
+ constructor(width, height, options) {
15
41
 
16
42
  /**
17
43
  * the parent HTML element holding the main canvas of this application
@@ -19,6 +45,12 @@ import World from "./../physics/world.js";
19
45
  */
20
46
  this.parentElement = undefined;
21
47
 
48
+ /**
49
+ * a reference to the active Canvas or WebGL active renderer renderer
50
+ * @type {CanvasRenderer|WebGLRenderer}
51
+ */
52
+ this.renderer = undefined;
53
+
22
54
  /**
23
55
  * the active stage "default" camera
24
56
  * @type {Camera2d}
@@ -64,6 +96,12 @@ import World from "./../physics/world.js";
64
96
  */
65
97
  this.isInitialized = false;
66
98
 
99
+ /**
100
+ * the given settings used when creating this application
101
+ * @type {Object}
102
+ */
103
+ this.settings = undefined;
104
+
67
105
  // to know when we have to refresh the display
68
106
  this.isDirty = true;
69
107
 
@@ -85,18 +123,111 @@ import World from "./../physics/world.js";
85
123
  this.updateDelta = 0;
86
124
  this.lastUpdateStart = null;
87
125
  this.updateAverageDelta = 0;
126
+
127
+ // when using the default game application, legacy is set to true
128
+ // and init is called through the legacy video.init() call
129
+ if (options.legacy !== true) {
130
+ this.init(width, height, options);
131
+ }
88
132
  }
89
133
 
90
134
  /**
91
135
  * init the game instance (create a physic world, update starting time, etc..)
92
136
  */
93
- init() {
137
+ init(width, height, options) {
138
+
139
+ this.settings = Object.assign(defaultSettings, options || {});
140
+
141
+ // sanitize potential given parameters
142
+ this.settings.width = width;
143
+ this.settings.height = height;
144
+ this.settings.transparent = !!(this.settings.transparent);
145
+ this.settings.antiAlias = !!(this.settings.antiAlias);
146
+ this.settings.failIfMajorPerformanceCaveat = !!(this.settings.failIfMajorPerformanceCaveat);
147
+ this.settings.subPixel = !!(this.settings.subPixel);
148
+ this.settings.verbose = !!(this.settings.verbose);
149
+ if (this.settings.scaleMethod.search(/^(fill-(min|max)|fit|flex(-(width|height))?|stretch)$/) !== -1) {
150
+ this.settings.autoScale = (this.settings.scale === "auto") || true;
151
+ } else {
152
+ // default scaling method
153
+ this.settings.scaleMethod = "fit";
154
+ this.settings.autoScale = (this.settings.scale === "auto") || false;
155
+ }
156
+
157
+ // override renderer settings if &webgl or &canvas is defined in the URL
158
+ var uriFragment = utils.getUriFragment();
159
+ if (uriFragment.webgl === true || uriFragment.webgl1 === true || uriFragment.webgl2 === true) {
160
+ this.settings.renderer = WEBGL;
161
+ if (uriFragment.webgl1 === true) {
162
+ this.settings.preferWebGL1 = true;
163
+ }
164
+ } else if (uriFragment.canvas === true) {
165
+ this.settings.renderer = CANVAS;
166
+ }
167
+
168
+ // normalize scale
169
+ this.settings.scale = (this.settings.autoScale) ? 1.0 : (+this.settings.scale || 1.0);
170
+
171
+ // default scaled size value
172
+ this.settings.zoomX = width * this.settings.scale;
173
+ this.settings.zoomY = height * this.settings.scale;
174
+
175
+ if (typeof this.settings.renderer === "number") {
176
+ switch (this.settings.renderer) {
177
+ case AUTO:
178
+ case WEBGL:
179
+ this.renderer = autoDetectRenderer(this.settings);
180
+ break;
181
+ default:
182
+ this.renderer = new CanvasRenderer(this.settings);
183
+ break;
184
+ }
185
+ } else {
186
+ var CustomRenderer = this.settings.renderer;
187
+ // a renderer class
188
+ this.renderer = new CustomRenderer(this.settings);
189
+ }
190
+
191
+ // register to the channel
192
+ event.on(event.WINDOW_ONRESIZE, () => { onresize(this); }, this);
193
+ event.on(event.WINDOW_ONORIENTATION_CHANGE, () => { onresize(this); }, this);
194
+
195
+ // add our canvas (default to document.body if settings.parent is undefined)
196
+ this.parentElement = device.getElement(this.settings.parent);
197
+ this.parentElement.appendChild(this.renderer.getCanvas());
198
+
199
+ // Mobile browser hacks
200
+ if (device.platform.isMobile) {
201
+ // Prevent the webview from moving on a swipe
202
+ device.enableSwipe(false);
203
+ }
204
+
205
+ // trigger an initial resize();
206
+ onresize(this);
207
+
208
+ // add an observer to detect when the dom tree is modified
209
+ if ("MutationObserver" in globalThis) {
210
+ // Create an observer instance linked to the callback function
211
+ var observer = new MutationObserver(onresize.bind(this, this));
212
+
213
+ // Start observing the target node for configured mutations
214
+ observer.observe(this.parentElement, {
215
+ attributes: false, childList: true, subtree: true
216
+ });
217
+ }
218
+
219
+ if (this.settings.consoleHeader !== false) {
220
+ consoleHeader(this);
221
+ }
222
+
94
223
  // create a new physic world
95
224
  this.world = new World();
96
225
  // set the reference to this application instance
97
226
  this.world.app = this;
98
227
  this.lastUpdate = globalThis.performance.now();
228
+
99
229
  this.isInitialized = true;
230
+
100
231
  event.emit(event.GAME_INIT, this);
101
232
  }
102
233
 
@@ -213,21 +344,21 @@ import World from "./../physics/world.js";
213
344
  * @param {Stage} stage - the current stage
214
345
  */
215
346
  draw(stage) {
216
- if (renderer.isContextValid === true && (this.isDirty || this.isAlwaysDirty)) {
347
+ if (this.renderer.isContextValid === true && (this.isDirty || this.isAlwaysDirty)) {
217
348
  // publish notification
218
349
  event.emit(event.GAME_BEFORE_DRAW, globalThis.performance.now());
219
350
 
220
351
  // prepare renderer to draw a new frame
221
- renderer.clear();
352
+ this.renderer.clear();
222
353
 
223
354
  // render the stage
224
- stage.draw(renderer);
355
+ stage.draw(this.renderer);
225
356
 
226
357
  // set back to flag
227
358
  this.isDirty = false;
228
359
 
229
360
  // flush/render our frame
230
- renderer.flush();
361
+ this.renderer.flush();
231
362
 
232
363
  // publish notification
233
364
  event.emit(event.GAME_AFTER_DRAW, globalThis.performance.now());
@@ -0,0 +1,25 @@
1
+ import * as device from "../system/device";
2
+
3
+ /**
4
+ * display information
5
+ * @param {Application} game - the game application instance calling this function
6
+ */
7
+ export function consoleHeader(app) {
8
+ var renderType = app.renderer.type;
9
+ var gpu_renderer = (typeof app.renderer.GPURenderer === "string") ? " (" + app.renderer.GPURenderer + ")" : "";
10
+ var audioType = device.hasWebAudio ? "Web Audio" : "HTML5 Audio";
11
+
12
+ // output video information in the console
13
+ console.log(
14
+ renderType + " renderer" + gpu_renderer + " | " +
15
+ audioType + " | " +
16
+ "pixel ratio " + device.devicePixelRatio + " | " +
17
+ (device.platform.nodeJS ? "node.js" : device.platform.isMobile ? "mobile" : "desktop") + " | " +
18
+ device.getScreenOrientation() + " | " +
19
+ device.language
20
+ );
21
+
22
+ console.log( "resolution: " + "requested " + app.settings.width + "x" + app.settings.height +
23
+ ", got " + app.renderer.getWidth() + "x" + app.renderer.getHeight()
24
+ );
25
+ }
@@ -1,14 +1,16 @@
1
- import * as device from "./../../system/device.js";
2
- import game from "./../../game.js";
1
+ import * as device from "./../system/device";
3
2
 
4
3
  /**
5
4
  * scale the "displayed" canvas by the given scalar.
6
5
  * this will modify the size of canvas element directly.
7
6
  * Only use this if you are not using the automatic scaling feature.
7
+ * @private
8
+ * @param {Application} game - the game application instance triggering the resize
8
9
  * @param {number} x - x scaling multiplier
9
10
  * @param {number} y - y scaling multiplier
10
11
  */
11
- function scale(renderer, x, y) {
12
+ function scale(game, x, y) {
13
+ var renderer = game.renderer;
12
14
  var canvas = renderer.getCanvas();
13
15
  var context = renderer.getContext();
14
16
  var settings = renderer.settings;
@@ -34,8 +36,11 @@ function scale(renderer, x, y) {
34
36
 
35
37
  /**
36
38
  * callback for window resize event
39
+ * @private
40
+ * @param {Application} game - the game application instance triggering the resize
37
41
  */
38
- export function onresize(renderer) {
42
+ export function onresize(game) {
43
+ var renderer = game.renderer;
39
44
  var settings = renderer.settings;
40
45
  var scaleX = 1, scaleY = 1;
41
46
 
@@ -99,9 +104,9 @@ export function onresize(renderer) {
99
104
  }
100
105
 
101
106
  // adjust scaling ratio based on the new scaling ratio
102
- scale(renderer, scaleX, scaleY);
107
+ scale(game, scaleX, scaleY);
103
108
  } else {
104
109
  // adjust scaling ratio based on the given settings
105
- scale(renderer, settings.scale, settings.scale);
110
+ scale(game, settings.scale, settings.scale);
106
111
  }
107
112
  }
@@ -0,0 +1,19 @@
1
+ // default settings
2
+ export const defaultSettings = {
3
+ parent : undefined,
4
+ renderer : 2, // AUTO
5
+ autoScale : false,
6
+ scale : 1.0,
7
+ scaleMethod : "manual",
8
+ transparent : false,
9
+ premultipliedAlpha: true,
10
+ blendMode : "normal",
11
+ antiAlias : false,
12
+ failIfMajorPerformanceCaveat : true,
13
+ subPixel : false,
14
+ preferWebGL1 : false,
15
+ powerPreference : "default",
16
+ verbose : false,
17
+ consoleHeader : true,
18
+ legacy : false
19
+ };
@@ -10,7 +10,7 @@ import * as event from "./../system/event.js";
10
10
  import pool from "./../system/pooling.js";
11
11
  import Renderable from "./../renderable/renderable.js";
12
12
  import {clamp, toBeCloseTo} from "./../math/math.js";
13
- import game from "./../game.js";
13
+ import { game } from "../index.js";
14
14
 
15
15
 
16
16
  // some ref shortcut
package/src/const.js ADDED
@@ -0,0 +1,23 @@
1
+ /**
2
+ * constant to select the HTML5 Canvas renderer
3
+ * @type {number}
4
+ * @static
5
+ * @see Application
6
+ */
7
+ export const CANVAS = 0;
8
+
9
+ /**
10
+ * constant to select select the WebGL renderer
11
+ * @type {number}
12
+ * @static
13
+ * @see Application
14
+ */
15
+ export const WEBGL = 1;
16
+
17
+ /**
18
+ * constant to auto-select the renderer (Attempt WebGL first, with fallback to Canvas)
19
+ * @static
20
+ * @type (number)
21
+ * @see Application
22
+ */
23
+ export const AUTO = 2;
package/src/index.js CHANGED
@@ -1,24 +1,6 @@
1
1
  // ES5/ES6 polyfills
2
2
  import "./polyfill/index.js";
3
3
 
4
- // utility classes
5
- import * as audio from "./audio/audio.js";
6
- import collision from "./physics/collision.js";
7
- import * as event from "./system/event.js";
8
- import * as device from "./system/device.js";
9
- import game from "./game.js";
10
- import loader from "./loader/loader.js";
11
- import * as Math from "./math/math.js";
12
- import utils from "./utils/utils.js";
13
- import * as input from "./input/input.js";
14
- import { plugin, plugins } from "./plugin/plugin.js";
15
- import * as video from "./video/video.js";
16
- import save from "./system/save.js";
17
- import timer from "./system/timer.js";
18
- import pool from "./system/pooling.js";
19
- import state from "./state/state.js";
20
- import level from "./level/level.js";
21
-
22
4
  // class definition
23
5
  import Color from "./math/color.js";
24
6
  import Vector2d from "./math/vector2.js";
@@ -45,9 +27,6 @@ import CanvasRenderer from "./video/canvas/canvas_renderer.js";
45
27
  import CanvasTexture from "./video/texture/canvas_texture.js";
46
28
  import { TextureAtlas } from "./video/texture/atlas.js";
47
29
  import Renderable from "./renderable/renderable.js";
48
- import Text from "./text/text.js";
49
- import BitmapText from "./text/bitmaptext.js";
50
- import BitmapTextData from "./text/bitmaptextdata.js";
51
30
  import ColorLayer from "./renderable/colorlayer.js";
52
31
  import ImageLayer from "./renderable/imagelayer.js";
53
32
  import Sprite from "./renderable/sprite.js";
@@ -58,6 +37,9 @@ import UISpriteElement from "./renderable/ui/uispriteelement.js";
58
37
  import Collectable from "./renderable/collectable.js";
59
38
  import Trigger from "./renderable/trigger.js";
60
39
  import Light2d from "./renderable/light2d.js";
40
+ import Text from "./text/text.js";
41
+ import BitmapText from "./text/bitmaptext.js";
42
+ import BitmapTextData from "./text/bitmaptextdata.js";
61
43
  import { Draggable, DropTarget } from "./renderable/dragndrop.js";
62
44
  import TMXRenderer from "./level/tiled/renderer/TMXRenderer.js";
63
45
  import TMXOrthogonalRenderer from "./level/tiled/renderer/TMXOrthogonalRenderer.js";
@@ -78,6 +60,24 @@ import ParticleEmitterSettings from "./particles/settings.js";
78
60
  import ParticleEmitter from "./particles/emitter.js";
79
61
  import Particle from "./particles/particle.js";
80
62
  import Entity from "./entity/entity.js";
63
+ import Application from "./application/application.js";
64
+
65
+ // utility classes
66
+ import * as audio from "./audio/audio.js";
67
+ import collision from "./physics/collision.js";
68
+ import * as event from "./system/event.js";
69
+ import * as device from "./system/device.js";
70
+ import loader from "./loader/loader.js";
71
+ import * as Math from "./math/math.js";
72
+ import utils from "./utils/utils.js";
73
+ import * as input from "./input/input.js";
74
+ import { plugin, plugins } from "./plugin/plugin.js";
75
+ import * as video from "./video/video.js";
76
+ import save from "./system/save.js";
77
+ import timer from "./system/timer.js";
78
+ import pool from "./system/pooling.js";
79
+ import state from "./state/state.js";
80
+ import level from "./level/level.js";
81
81
 
82
82
 
83
83
  /**
@@ -95,7 +95,6 @@ export {
95
95
  collision,
96
96
  device,
97
97
  event,
98
- game,
99
98
  loader,
100
99
  level,
101
100
  input,
@@ -169,12 +168,15 @@ export {
169
168
  ParticleEmitter,
170
169
  ParticleEmitterSettings,
171
170
  Particle,
172
- Entity
171
+ Entity,
172
+ Application
173
173
  };
174
174
 
175
175
  // Backward compatibility for deprecated method or properties
176
176
  export * from "./lang/deprecated.js";
177
177
 
178
+ // export all public constants
179
+ export * from "./const.js";
178
180
 
179
181
  /**
180
182
  * a flag indicating that melonJS is fully initialized
@@ -192,6 +194,14 @@ export var initialized = false;
192
194
  */
193
195
  export var skipAutoInit = false;
194
196
 
197
+ /*
198
+ * game is a default instance of a melonJS Application and represents your current game,
199
+ * it contains all the objects, tilemap layers, current viewport, collision map, etc...<br>
200
+ * @namespace game
201
+ * @see Application
202
+ */
203
+ export const game = new Application(0, 0, {legacy:true});
204
+
195
205
  /**
196
206
  * initialize the melonJS library.
197
207
  * this is automatically called unless me.skipAutoInit is set to true,
@@ -206,6 +216,9 @@ export function boot() {
206
216
  return;
207
217
  }
208
218
 
219
+ // output melonJS version in the console
220
+ console.log("melonJS 2 (v" + version + ") | http://melonjs.org" );
221
+
209
222
  // register all built-ins objects into the object pool
210
223
  pool.register("me.Entity", Entity);
211
224
  pool.register("me.Collectable", Collectable);
@@ -1,6 +1,6 @@
1
1
  import Vector2d from "./../math/vector2.js";
2
2
  import Bounds from "./../physics/bounds.js";
3
- import game from "./../game.js";
3
+ import { game } from "../index.js";
4
4
  import { globalToLocal } from "./input.js";
5
5
  import { locked } from "./pointerevent.js";
6
6
 
@@ -9,7 +9,7 @@ import pool from "./../system/pooling.js";
9
9
  import * as device from "./../system/device.js";
10
10
  import Pointer from "./pointer.js";
11
11
  import Rect from "./../geometries/rectangle.js";
12
- import game from "./../game.js";
12
+ import { game } from "../index.js";
13
13
 
14
14
  /**
15
15
  * A pool of `Pointer` objects to cache pointer/touch event coordinates.
@@ -0,0 +1,36 @@
1
+
2
+ /**
3
+ * display a deprecation warning in the console
4
+ * @param {string} deprecated - deprecated class,function or property name
5
+ * @param {string} replacement - the replacement class, function, or property name
6
+ * @param {string} version - the version since when the lass,function or property is deprecated
7
+ */
8
+ export function warning(deprecated, replacement, version) {
9
+ var msg = "melonJS: %s is deprecated since version %s, please use %s";
10
+ var stack = new Error().stack;
11
+
12
+ if (console.groupCollapsed) {
13
+ console.groupCollapsed(
14
+ "%c" + msg,
15
+ "font-weight:normal;color:yellow;",
16
+ deprecated,
17
+ version,
18
+ replacement
19
+ );
20
+ } else {
21
+ console.warn(
22
+ msg,
23
+ deprecated,
24
+ version,
25
+ replacement
26
+ );
27
+ }
28
+
29
+ if (typeof stack !== "undefined") {
30
+ console.warn(stack);
31
+ }
32
+
33
+ if (console.groupCollapsed) {
34
+ console.groupEnd();
35
+ }
36
+ }
@@ -2,47 +2,12 @@ import { TextureAtlas } from "./../video/texture/atlas.js";
2
2
  import Renderer from "./../video/renderer.js";
3
3
  import { Draggable, DropTarget } from "./../renderable/dragndrop.js";
4
4
  import UISpriteElement from "./../renderable/ui/uispriteelement.js";
5
+ import { warning } from "./console.js";
6
+
5
7
  /*
6
8
  * placeholder for all deprecated classes and corresponding alias for backward compatibility
7
9
  */
8
10
 
9
- /**
10
- * display a deprecation warning in the console
11
- * @ignore
12
- * @param {string} deprecated - deprecated class,function or property name
13
- * @param {string} replacement - the replacement class, function, or property name
14
- * @param {string} version - the version since when the lass,function or property is deprecated
15
- */
16
- export function warning(deprecated, replacement, version) {
17
- var msg = "melonJS: %s is deprecated since version %s, please use %s";
18
- var stack = new Error().stack;
19
-
20
- if (console.groupCollapsed) {
21
- console.groupCollapsed(
22
- "%c" + msg,
23
- "font-weight:normal;color:yellow;",
24
- deprecated,
25
- version,
26
- replacement
27
- );
28
- } else {
29
- console.warn(
30
- msg,
31
- deprecated,
32
- version,
33
- replacement
34
- );
35
- }
36
-
37
- if (typeof stack !== "undefined") {
38
- console.warn(stack);
39
- }
40
-
41
- if (console.groupCollapsed) {
42
- console.groupEnd();
43
- }
44
- }
45
-
46
11
  /**
47
12
  * Alias of {@link TextureAtlas}
48
13
  * @public
@@ -2,7 +2,7 @@ import utils from "./../utils/utils.js";
2
2
  import * as event from "./../system/event.js";
3
3
  import state from "./../state/state.js";
4
4
  import loader from "./../loader/loader.js";
5
- import game from "./../game.js";
5
+ import { game } from "../index.js";
6
6
  import TMXTileMap from "./tiled/TMXTileMap.js";
7
7
 
8
8
 
@@ -15,66 +15,45 @@ export default class TMXGroup {
15
15
 
16
16
  /**
17
17
  * group name
18
- * @public
19
18
  * @type {string}
20
- * @name name
21
- * @memberof TMXGroup
22
19
  */
23
20
  this.name = data.name;
24
21
 
25
22
  /**
26
23
  * group width
27
- * @public
28
24
  * @type {number}
29
- * @name width
30
- * @memberof TMXGroup
31
25
  */
32
26
  this.width = data.width || 0;
33
27
 
34
28
  /**
35
29
  * group height
36
- * @public
37
30
  * @type {number}
38
- * @name height
39
- * @memberof TMXGroup
40
31
  */
41
32
  this.height = data.height || 0;
42
33
 
43
34
  /**
44
35
  * tint color
45
- * @public
46
36
  * @type {string}
47
- * @name tintcolor
48
- * @memberof TMXGroup
49
37
  */
50
38
  this.tintcolor = data.tintcolor;
51
39
 
52
40
 
53
41
  /**
54
42
  * the group class
55
- * @public
56
43
  * @type {string}
57
- * @name class
58
- * @memberof TMXGroup
59
44
  */
60
45
  this.class = data.class;
61
46
 
62
47
  /**
63
48
  * group z order
64
- * @public
65
49
  * @type {number}
66
- * @name z
67
- * @memberof TMXGroup
68
50
  */
69
51
  this.z = z;
70
52
 
71
53
  /**
72
54
  * group objects list definition
73
55
  * @see TMXObject
74
- * @public
75
56
  * @type {object[]}
76
- * @name name
77
- * @memberof TMXGroup
78
57
  */
79
58
  this.objects = [];
80
59