melonjs 14.1.0 → 14.1.2

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 (192) hide show
  1. package/README.md +8 -3
  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 +1 -1
  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 +3 -5
  11. package/dist/melonjs.mjs/audio/audio.js +1 -1
  12. package/dist/melonjs.mjs/camera/camera2d.js +3 -4
  13. package/dist/melonjs.mjs/entity/entity.js +3 -4
  14. package/dist/melonjs.mjs/game.js +1 -1
  15. package/dist/melonjs.mjs/geometries/ellipse.js +3 -4
  16. package/dist/melonjs.mjs/geometries/line.js +3 -4
  17. package/dist/melonjs.mjs/geometries/path2d.js +3 -4
  18. package/dist/melonjs.mjs/geometries/point.js +3 -4
  19. package/dist/melonjs.mjs/geometries/poly.js +3 -5
  20. package/dist/melonjs.mjs/geometries/rectangle.js +3 -4
  21. package/dist/melonjs.mjs/geometries/roundrect.js +2 -3
  22. package/dist/melonjs.mjs/index.js +2 -2
  23. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  24. package/dist/melonjs.mjs/input/input.js +1 -1
  25. package/dist/melonjs.mjs/input/keyboard.js +1 -1
  26. package/dist/melonjs.mjs/input/pointer.js +1 -1
  27. package/dist/melonjs.mjs/input/pointerevent.js +1 -1
  28. package/dist/melonjs.mjs/lang/deprecated.js +1 -1
  29. package/dist/melonjs.mjs/level/level.js +1 -1
  30. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  31. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +3 -5
  32. package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
  33. package/dist/melonjs.mjs/level/tiled/TMXTile.js +3 -4
  34. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +5 -8
  35. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +3 -5
  36. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -5
  37. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +3 -5
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +3 -5
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +3 -5
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +3 -4
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +3 -5
  43. package/dist/melonjs.mjs/loader/loader.js +1 -1
  44. package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
  45. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  46. package/dist/melonjs.mjs/math/color.js +3 -5
  47. package/dist/melonjs.mjs/math/math.js +1 -1
  48. package/dist/melonjs.mjs/math/matrix2.js +3 -5
  49. package/dist/melonjs.mjs/math/matrix3.js +3 -5
  50. package/dist/melonjs.mjs/math/observable_vector2.js +3 -5
  51. package/dist/melonjs.mjs/math/observable_vector3.js +3 -5
  52. package/dist/melonjs.mjs/math/vector2.js +3 -5
  53. package/dist/melonjs.mjs/math/vector3.js +3 -5
  54. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
  55. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
  56. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +1 -1
  57. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
  58. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  59. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  60. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +9 -0
  61. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  62. package/dist/melonjs.mjs/particles/emitter.js +3 -5
  63. package/dist/melonjs.mjs/particles/particle.js +3 -5
  64. package/dist/melonjs.mjs/particles/settings.js +1 -1
  65. package/dist/melonjs.mjs/physics/body.js +3 -5
  66. package/dist/melonjs.mjs/physics/bounds.js +3 -4
  67. package/dist/melonjs.mjs/physics/collision.js +1 -1
  68. package/dist/melonjs.mjs/physics/detector.js +1 -5
  69. package/dist/melonjs.mjs/physics/quadtree.js +23 -20
  70. package/dist/melonjs.mjs/physics/response.js +1 -1
  71. package/dist/melonjs.mjs/physics/sat.js +1 -1
  72. package/dist/melonjs.mjs/physics/world.js +3 -5
  73. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  74. package/dist/melonjs.mjs/renderable/collectable.js +3 -5
  75. package/dist/melonjs.mjs/renderable/colorlayer.js +3 -5
  76. package/dist/melonjs.mjs/renderable/container.js +6 -8
  77. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  78. package/dist/melonjs.mjs/renderable/imagelayer.js +4 -5
  79. package/dist/melonjs.mjs/renderable/light2d.js +3 -4
  80. package/dist/melonjs.mjs/renderable/nineslicesprite.js +3 -4
  81. package/dist/melonjs.mjs/renderable/renderable.js +5 -7
  82. package/dist/melonjs.mjs/renderable/sprite.js +3 -4
  83. package/dist/melonjs.mjs/renderable/trigger.js +3 -4
  84. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +3 -4
  85. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +3 -4
  86. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +3 -4
  87. package/dist/melonjs.mjs/state/stage.js +3 -4
  88. package/dist/melonjs.mjs/state/state.js +1 -1
  89. package/dist/melonjs.mjs/system/device.js +1 -1
  90. package/dist/melonjs.mjs/system/dom.js +1 -1
  91. package/dist/melonjs.mjs/system/event.js +1 -1
  92. package/dist/melonjs.mjs/system/platform.js +1 -1
  93. package/dist/melonjs.mjs/system/pooling.js +1 -1
  94. package/dist/melonjs.mjs/system/save.js +1 -1
  95. package/dist/melonjs.mjs/system/timer.js +1 -1
  96. package/dist/melonjs.mjs/text/bitmaptext.js +3 -4
  97. package/dist/melonjs.mjs/text/bitmaptextdata.js +3 -4
  98. package/dist/melonjs.mjs/text/glyph.js +3 -4
  99. package/dist/melonjs.mjs/text/text.js +3 -4
  100. package/dist/melonjs.mjs/text/textmetrics.js +3 -4
  101. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  102. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  103. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  104. package/dist/melonjs.mjs/tweens/tween.js +3 -4
  105. package/dist/melonjs.mjs/utils/agent.js +1 -1
  106. package/dist/melonjs.mjs/utils/array.js +1 -1
  107. package/dist/melonjs.mjs/utils/file.js +1 -1
  108. package/dist/melonjs.mjs/utils/function.js +1 -1
  109. package/dist/melonjs.mjs/utils/string.js +1 -1
  110. package/dist/melonjs.mjs/utils/utils.js +1 -1
  111. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +3 -4
  112. package/dist/melonjs.mjs/video/renderer.js +4 -5
  113. package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
  114. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  115. package/dist/melonjs.mjs/video/texture/canvas_texture.js +1 -1
  116. package/dist/melonjs.mjs/video/video.js +1 -1
  117. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -4
  118. package/dist/melonjs.mjs/video/webgl/glshader.js +3 -4
  119. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  120. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  121. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  122. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  123. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  124. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  125. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  126. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  127. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  128. package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +3 -4
  129. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +3 -4
  130. package/dist/melonjs.module.js +659 -740
  131. package/dist/types/index.d.ts +108 -0
  132. package/package.json +19 -19
  133. package/src/application/application.js +1 -2
  134. package/src/camera/camera2d.js +1 -2
  135. package/src/entity/entity.js +1 -2
  136. package/src/geometries/ellipse.js +1 -2
  137. package/src/geometries/line.js +1 -2
  138. package/src/geometries/path2d.js +1 -2
  139. package/src/geometries/point.js +1 -2
  140. package/src/geometries/poly.js +1 -3
  141. package/src/geometries/rectangle.js +1 -2
  142. package/src/geometries/roundrect.js +1 -2
  143. package/src/level/tiled/TMXLayer.js +1 -2
  144. package/src/level/tiled/TMXTile.js +1 -2
  145. package/src/level/tiled/TMXTileMap.js +2 -4
  146. package/src/level/tiled/TMXTileset.js +1 -2
  147. package/src/level/tiled/TMXTilesetGroup.js +1 -2
  148. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +1 -2
  149. package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -2
  150. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -2
  151. package/src/level/tiled/renderer/TMXRenderer.js +1 -2
  152. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -2
  153. package/src/math/color.js +1 -2
  154. package/src/math/matrix2.js +1 -2
  155. package/src/math/matrix3.js +1 -2
  156. package/src/math/observable_vector2.js +1 -2
  157. package/src/math/observable_vector3.js +1 -2
  158. package/src/math/vector2.js +1 -2
  159. package/src/math/vector3.js +1 -2
  160. package/src/particles/emitter.js +1 -2
  161. package/src/particles/particle.js +1 -2
  162. package/src/physics/body.js +1 -2
  163. package/src/physics/bounds.js +2 -2
  164. package/src/physics/detector.js +0 -4
  165. package/src/physics/quadtree.js +7 -12
  166. package/src/physics/world.js +1 -2
  167. package/src/renderable/collectable.js +1 -3
  168. package/src/renderable/colorlayer.js +1 -3
  169. package/src/renderable/container.js +4 -6
  170. package/src/renderable/imagelayer.js +1 -2
  171. package/src/renderable/light2d.js +1 -2
  172. package/src/renderable/nineslicesprite.js +1 -2
  173. package/src/renderable/renderable.js +3 -5
  174. package/src/renderable/sprite.js +1 -2
  175. package/src/renderable/trigger.js +1 -2
  176. package/src/renderable/ui/uibaseelement.js +1 -2
  177. package/src/renderable/ui/uispriteelement.js +2 -2
  178. package/src/renderable/ui/uitextbutton.js +2 -2
  179. package/src/state/stage.js +1 -2
  180. package/src/text/bitmaptext.js +1 -2
  181. package/src/text/bitmaptextdata.js +1 -2
  182. package/src/text/glyph.js +1 -2
  183. package/src/text/text.js +1 -2
  184. package/src/text/textmetrics.js +1 -2
  185. package/src/tweens/tween.js +1 -2
  186. package/src/video/canvas/canvas_renderer.js +1 -2
  187. package/src/video/renderer.js +1 -2
  188. package/src/video/webgl/buffer/vertex.js +1 -2
  189. package/src/video/webgl/glshader.js +2 -2
  190. package/src/video/webgl/webgl_compositor.js +1 -2
  191. package/src/video/webgl/webgl_renderer.js +1 -2
  192. package/dist/melonjs.module.d.ts +0 -14020
@@ -0,0 +1,108 @@
1
+ /**
2
+ * initialize the melonJS library.
3
+ * this is automatically called unless me.skipAutoInit is set to true,
4
+ * to allow asynchronous loaders to work.
5
+ * @name boot
6
+ * @see skipAutoInit
7
+ * @public
8
+ */
9
+ export function boot(): void;
10
+ /**
11
+ * current melonJS version
12
+ * @static
13
+ * @constant
14
+ * @name version
15
+ * @type {string}
16
+ */
17
+ export const version: string;
18
+ export * from "./lang/deprecated.js";
19
+ /**
20
+ * a flag indicating that melonJS is fully initialized
21
+ * @type {boolean}
22
+ * @default false
23
+ * @readonly
24
+ */
25
+ export const initialized: boolean;
26
+ /**
27
+ * disable melonJS auto-initialization
28
+ * @type {boolean}
29
+ * @default false
30
+ * @see boot
31
+ */
32
+ export const skipAutoInit: boolean;
33
+ import * as audio from "./audio/audio.js";
34
+ import collision from "./physics/collision.js";
35
+ import * as device from "./system/device.js";
36
+ import * as event from "./system/event.js";
37
+ import game from "./game.js";
38
+ import loader from "./loader/loader.js";
39
+ import level from "./level/level.js";
40
+ import * as input from "./input/input.js";
41
+ import * as Math from "./math/math.js";
42
+ import { plugin } from "./plugin/plugin.js";
43
+ import { plugins } from "./plugin/plugin.js";
44
+ import utils from "./utils/utils.js";
45
+ import save from "./system/save.js";
46
+ import timer from "./system/timer.js";
47
+ import pool from "./system/pooling.js";
48
+ import state from "./state/state.js";
49
+ import * as video from "./video/video.js";
50
+ import Color from "./math/color.js";
51
+ import Vector2d from "./math/vector2.js";
52
+ import Vector3d from "./math/vector3.js";
53
+ import ObservableVector2d from "./math/observable_vector2.js";
54
+ import ObservableVector3d from "./math/observable_vector3.js";
55
+ import Matrix2d from "./math/matrix2.js";
56
+ import Matrix3d from "./math/matrix3.js";
57
+ import Polygon from "./geometries/poly.js";
58
+ import Line from "./geometries/line.js";
59
+ import Ellipse from "./geometries/ellipse.js";
60
+ import Point from "./geometries/point.js";
61
+ import Rect from "./geometries/rectangle.js";
62
+ import RoundRect from "./geometries/roundrect.js";
63
+ import Tween from "./tweens/tween.js";
64
+ import QuadTree from "./physics/quadtree.js";
65
+ import GLShader from "./video/webgl/glshader.js";
66
+ import WebGLCompositor from "./video/webgl/webgl_compositor.js";
67
+ import Renderer from "./video/renderer.js";
68
+ import WebGLRenderer from "./video/webgl/webgl_renderer.js";
69
+ import CanvasRenderer from "./video/canvas/canvas_renderer.js";
70
+ import { TextureAtlas } from "./video/texture/atlas.js";
71
+ import Renderable from "./renderable/renderable.js";
72
+ import Body from "./physics/body.js";
73
+ import Bounds from "./physics/bounds.js";
74
+ import Text from "./text/text.js";
75
+ import BitmapText from "./text/bitmaptext.js";
76
+ import BitmapTextData from "./text/bitmaptextdata.js";
77
+ import ColorLayer from "./renderable/colorlayer.js";
78
+ import ImageLayer from "./renderable/imagelayer.js";
79
+ import Sprite from "./renderable/sprite.js";
80
+ import NineSliceSprite from "./renderable/nineslicesprite.js";
81
+ import UIBaseElement from "./renderable/ui/uibaseelement.js";
82
+ import UITextButton from "./renderable/ui/uitextbutton.js";
83
+ import UISpriteElement from "./renderable/ui/uispriteelement.js";
84
+ import Collectable from "./renderable/collectable.js";
85
+ import Trigger from "./renderable/trigger.js";
86
+ import Light2d from "./renderable/light2d.js";
87
+ import { Draggable } from "./renderable/dragndrop.js";
88
+ import { DropTarget } from "./renderable/dragndrop.js";
89
+ import TMXRenderer from "./level/tiled/renderer/TMXRenderer.js";
90
+ import TMXOrthogonalRenderer from "./level/tiled/renderer/TMXOrthogonalRenderer.js";
91
+ import TMXIsometricRenderer from "./level/tiled/renderer/TMXIsometricRenderer.js";
92
+ import TMXHexagonalRenderer from "./level/tiled/renderer/TMXHexagonalRenderer.js";
93
+ import TMXStaggeredRenderer from "./level/tiled/renderer/TMXStaggeredRenderer.js";
94
+ import Tile from "./level/tiled/TMXTile.js";
95
+ import TMXTileset from "./level/tiled/TMXTileset.js";
96
+ import TMXTilesetGroup from "./level/tiled/TMXTilesetGroup.js";
97
+ import TMXTileMap from "./level/tiled/TMXTileMap.js";
98
+ import TMXLayer from "./level/tiled/TMXLayer.js";
99
+ import Pointer from "./input/pointer.js";
100
+ import Stage from "./state/stage.js";
101
+ import Camera2d from "./camera/camera2d.js";
102
+ import Container from "./renderable/container.js";
103
+ import World from "./physics/world.js";
104
+ import ParticleEmitter from "./particles/emitter.js";
105
+ import ParticleEmitterSettings from "./particles/settings.js";
106
+ import Particle from "./particles/particle.js";
107
+ import Entity from "./entity/entity.js";
108
+ export { audio, collision, device, event, game, loader, level, input, Math, plugin, plugins, utils, save, timer, pool, state, video, Color, Vector2d, Vector3d, ObservableVector2d, ObservableVector3d, Matrix2d, Matrix3d, Polygon, Line, Ellipse, Point, Rect, RoundRect, Tween, QuadTree, GLShader, WebGLCompositor, Renderer, WebGLRenderer, CanvasRenderer, TextureAtlas, Renderable, Body, Bounds, Text, BitmapText, BitmapTextData, ColorLayer, ImageLayer, Sprite, NineSliceSprite, UIBaseElement, UITextButton, UISpriteElement, Collectable, Trigger, Light2d, Draggable, DropTarget, TMXRenderer, TMXOrthogonalRenderer, TMXIsometricRenderer, TMXHexagonalRenderer, TMXStaggeredRenderer, Tile, TMXTileset, TMXTilesetGroup, TMXTileMap, TMXLayer, Pointer, Stage, Camera2d, Container, World, ParticleEmitter, ParticleEmitterSettings, Particle, Entity };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "melonjs",
3
- "version": "14.1.0",
3
+ "version": "14.1.2",
4
4
  "description": "melonJS Game Engine",
5
5
  "homepage": "http://www.melonjs.org/",
6
6
  "type": "module",
@@ -38,13 +38,13 @@
38
38
  "node": ">= 19"
39
39
  },
40
40
  "main": "dist/melonjs.module.js",
41
- "module": "dist/melonjs.mjs/index.js",
42
- "types": "dist/melonjs.module.d.ts",
41
+ "module": "dist/melonjs.module.js",
42
+ "types": "dist/types/index.d.ts",
43
43
  "sideEffects": false,
44
44
  "files": [
45
45
  "dist/melonjs.mjs",
46
46
  "dist/melonjs.module.js",
47
- "dist/melonjs.module.d.ts",
47
+ "dist/types/index.d.ts",
48
48
  "src/",
49
49
  "package.json",
50
50
  "README.md",
@@ -53,43 +53,43 @@
53
53
  ],
54
54
  "dependencies": {
55
55
  "@teppeis/multimaps": "^2.0.0",
56
- "core-js": "^3.26.0",
56
+ "core-js": "^3.26.1",
57
57
  "earcut": "2.2.4",
58
- "eventemitter3": "^4.0.7",
58
+ "eventemitter3": "^5.0.0",
59
59
  "howler": "2.2.3"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@babel/eslint-parser": "^7.19.1",
63
63
  "@babel/plugin-syntax-import-assertions": "^7.20.0",
64
- "@fastify/static": "^6.5.0",
64
+ "@fastify/static": "^6.5.1",
65
65
  "@melonjs/webdoc-theme": "^1.1.1",
66
- "@rollup/plugin-commonjs": "^23.0.2",
66
+ "@rollup/plugin-commonjs": "^23.0.3",
67
67
  "@rollup/plugin-image": "^3.0.1",
68
68
  "@rollup/plugin-node-resolve": "^15.0.1",
69
69
  "@rollup/plugin-replace": "^5.0.1",
70
70
  "@types/offscreencanvas": "^2019.7.0",
71
71
  "@webdoc/cli": "^2.2.0",
72
- "chromedriver": "^107.0.1",
72
+ "chromedriver": "^107.0.3",
73
73
  "cross-env": "^7.0.3",
74
74
  "del-cli": "^5.0.0",
75
- "eslint": "^8.26.0",
76
- "eslint-plugin-jsdoc": "^39.3.25",
77
- "expect": "^29.2.2",
75
+ "eslint": "^8.28.0",
76
+ "eslint-plugin-jsdoc": "^39.6.4",
77
+ "expect": "^29.3.1",
78
78
  "expect-mocha-image-snapshot": "^2.0.14",
79
- "fastify": "^4.9.1",
79
+ "fastify": "^4.10.2",
80
80
  "mocha": "^10.1.0",
81
81
  "npm-self-link": "^1.1.7",
82
- "puppeteer": "^19.2.0",
83
- "rollup": "^3.2.3",
82
+ "puppeteer": "^19.3.0",
83
+ "rollup": "^3.5.0",
84
84
  "rollup-plugin-bundle-size": "^1.0.3",
85
85
  "rollup-plugin-string": "^3.0.0",
86
- "terser": "^5.15.1",
87
- "typescript": "^4.8.4"
86
+ "terser": "^5.16.0",
87
+ "typescript": "^4.9.3"
88
88
  },
89
89
  "scripts": {
90
90
  "build": "npm run lint && rollup -c --silent",
91
91
  "dist": " npm run build && mkdirp dist && cp -fR build/*.* dist/ && npm run types",
92
- "lint": "eslint src/** rollup.config.js",
92
+ "lint": "eslint src/** rollup.config.mjs",
93
93
  "pretest": "cp -f ./build/melonjs.module.js ./tests/browser/public/lib",
94
94
  "test": "npm run test-node && mocha ./tests/browser/spec/*.js --reporter spec --bail --timeout 10000",
95
95
  "test-node": "node build/melonjs.module.js",
@@ -99,6 +99,6 @@
99
99
  "serve": "python3 -m http.server",
100
100
  "prepublishOnly": "npm run dist && npm run test",
101
101
  "clean": "del-cli --force build/*.* dist/*.* docs",
102
- "types": "tsc src/index.js --declaration --allowJs --emitDeclarationOnly --outfile dist/melonjs.module.d.ts"
102
+ "types": "tsc src/index.js --declaration --allowJs --emitDeclarationOnly --outdir dist/types"
103
103
  }
104
104
  }
@@ -10,7 +10,7 @@ import World from "./../physics/world.js";
10
10
  * An Application is responsible for updating (each frame) all the related object status and draw them.
11
11
  * @see game
12
12
  */
13
- class Application {
13
+ export default class Application {
14
14
  constructor() {
15
15
  /**
16
16
  * a reference to the current active stage "default" camera
@@ -228,4 +228,3 @@ class Application {
228
228
  }
229
229
  }
230
230
 
231
- export default Application;
@@ -23,7 +23,7 @@ var targetV = new Vector2d();
23
23
  * a 2D orthographic camera
24
24
  * @augments Renderable
25
25
  */
26
- class Camera2d extends Renderable {
26
+ export default class Camera2d extends Renderable {
27
27
  /**
28
28
  * @param {number} minX - start x offset
29
29
  * @param {number} minY - start y offset
@@ -724,4 +724,3 @@ class Camera2d extends Renderable {
724
724
  }
725
725
 
726
726
  }
727
- export default Camera2d;
@@ -10,7 +10,7 @@ import Body from "./../physics/body.js";
10
10
  * @augments Renderable
11
11
  * @see Renderable
12
12
  */
13
- class Entity extends Renderable {
13
+ export default class Entity extends Renderable {
14
14
  /**
15
15
  * @param {number} x - the x coordinates of the entity object
16
16
  * @param {number} y - the y coordinates of the entity object
@@ -237,4 +237,3 @@ class Entity extends Renderable {
237
237
  }
238
238
 
239
239
  }
240
- export default Entity;
@@ -4,7 +4,7 @@ import pool from "./../system/pooling.js";
4
4
  * @classdesc
5
5
  * an ellipse Object
6
6
  */
7
- class Ellipse {
7
+ export default class Ellipse {
8
8
  /**
9
9
  * @param {number} x - the center x coordinate of the ellipse
10
10
  * @param {number} y - the center y coordinate of the ellipse
@@ -263,4 +263,3 @@ class Ellipse {
263
263
  );
264
264
  }
265
265
  }
266
- export default Ellipse;
@@ -10,7 +10,7 @@ import Polygon from "./poly.js";
10
10
  * @param {Vector2d[]} points - array of vectors defining the Line
11
11
  */
12
12
 
13
- class Line extends Polygon {
13
+ export default class Line extends Polygon {
14
14
 
15
15
  /**
16
16
  * Returns true if the Line contains the given point
@@ -104,4 +104,3 @@ class Line extends Polygon {
104
104
  }
105
105
 
106
106
  }
107
- export default Line;
@@ -6,7 +6,7 @@ import earcut from "earcut";
6
6
  * @classdesc
7
7
  * a simplified path2d implementation, supporting only one path
8
8
  */
9
- class Path2D {
9
+ export default class Path2D {
10
10
  constructor() {
11
11
  /**
12
12
  * the points defining the current path
@@ -306,4 +306,3 @@ class Path2D {
306
306
  this.arcTo(x, y, x + radius, y, radius);
307
307
  }
308
308
  }
309
- export default Path2D;
@@ -2,7 +2,7 @@
2
2
  * @classdesc
3
3
  * represents a point in a 2d space
4
4
  */
5
- class Point {
5
+ export default class Point {
6
6
  constructor(x = 0, y = 0) {
7
7
  /**
8
8
  * the position of the point on the horizontal axis
@@ -77,4 +77,3 @@ class Point {
77
77
  return new Point(this.x, this.y);
78
78
  }
79
79
  }
80
- export default Point;
@@ -12,7 +12,7 @@ import pool from "./../system/pooling.js";
12
12
  *
13
13
  * A polygon's `winding` is clockwise if its vertices (points) are declared turning to the right. The image above shows COUNTERCLOCKWISE winding.
14
14
  */
15
- class Polygon {
15
+ export default class Polygon {
16
16
  /**
17
17
  * @param {number} x - origin point of the Polygon
18
18
  * @param {number} y - origin point of the Polygon
@@ -486,5 +486,3 @@ class Polygon {
486
486
  return new Polygon(this.pos.x, this.pos.y, copy);
487
487
  }
488
488
  }
489
-
490
- export default Polygon;
@@ -6,7 +6,7 @@ import Polygon from "./poly.js";
6
6
  * a rectangle Object
7
7
  * @augments Polygon
8
8
  */
9
- class Rect extends Polygon {
9
+ export default class Rect extends Polygon {
10
10
  /**
11
11
  * @param {number} x - position of the Rectangle
12
12
  * @param {number} y - position of the Rectangle
@@ -363,4 +363,3 @@ class Rect extends Polygon {
363
363
  );
364
364
  }
365
365
  }
366
- export default Rect;
@@ -7,7 +7,7 @@ import Rect from "./rectangle.js";
7
7
  * a rectangle object with rounded corners
8
8
  * @augments Rect
9
9
  */
10
- class RoundRect extends Rect {
10
+ export default class RoundRect extends Rect {
11
11
  /**
12
12
  * @param {number} x - position of the rounded rectangle
13
13
  * @param {number} y - position of the rounded rectangle
@@ -156,4 +156,3 @@ class RoundRect extends Rect {
156
156
  return new RoundRect(this.pos.x, this.pos.y, this.width, this.height, this.radius);
157
157
  }
158
158
  }
159
- export default RoundRect;
@@ -68,7 +68,7 @@ function preRenderLayer(layer, renderer) {
68
68
  * Tiled QT 0.7.x format
69
69
  * @augments Renderable
70
70
  */
71
- class TMXLayer extends Renderable {
71
+ export default class TMXLayer extends Renderable {
72
72
  /**
73
73
  * @param {object} map - layer data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#layer})
74
74
  * @param {object} data - layer data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#layer})
@@ -436,4 +436,3 @@ class TMXLayer extends Renderable {
436
436
  }
437
437
  }
438
438
 
439
- export default TMXLayer;
@@ -13,7 +13,7 @@ const TMX_FLIP_H = 0x80000000,
13
13
  * a basic tile object
14
14
  * @augments Bounds
15
15
  */
16
- class Tile extends Bounds {
16
+ export default class Tile extends Bounds {
17
17
  /**
18
18
  * @param {number} x - x index of the Tile in the map
19
19
  * @param {number} y - y index of the Tile in the map
@@ -182,4 +182,3 @@ class Tile extends Bounds {
182
182
  return renderable;
183
183
  }
184
184
  }
185
- export default Tile;
@@ -12,7 +12,6 @@ import TMXTilesetGroup from "./TMXTilesetGroup.js";
12
12
  import TMXGroup from "./TMXGroup.js";
13
13
  import TMXLayer from "./TMXLayer.js";
14
14
  import { applyTMXProperties } from "./TMXUtils.js";
15
- import Renderable from "./../../renderable/renderable.js";
16
15
  import Container from "./../../renderable/container.js";
17
16
 
18
17
  // constant to identify the collision object layer
@@ -103,7 +102,7 @@ function readObjectGroup(map, data, z) {
103
102
  * a TMX Tile Map Object
104
103
  * Tiled QT +0.7.x format
105
104
  */
106
- class TMXTileMap {
105
+ export default class TMXTileMap {
107
106
  /**
108
107
  * @param {string} levelId - name of TMX map
109
108
  * @param {object} data - TMX map in JSON format
@@ -578,7 +577,7 @@ class TMXTileMap {
578
577
  if (obj.isRenderable === true) {
579
578
  obj.setOpacity(obj.getOpacity() * group.opacity);
580
579
  // and to child renderables if any
581
- if (obj.renderable instanceof Renderable) {
580
+ if (typeof obj.renderable !== "undefined" && obj.renderable.isRenderable === true) {
582
581
  obj.renderable.setOpacity(obj.renderable.getOpacity() * group.opacity);
583
582
  }
584
583
  }
@@ -630,4 +629,3 @@ class TMXTileMap {
630
629
  }
631
630
  }
632
631
 
633
- export default TMXTileMap;
@@ -8,7 +8,7 @@ import loader from "./../../loader/loader.js";
8
8
  * @classdesc
9
9
  * a TMX Tile Set Object
10
10
  */
11
- class TMXTileset {
11
+ export default class TMXTileset {
12
12
  /**
13
13
  * @param {object} tileset - tileset data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#tileset})
14
14
  */
@@ -299,4 +299,3 @@ class TMXTileset {
299
299
  }
300
300
  }
301
301
 
302
- export default TMXTileset;
@@ -6,7 +6,7 @@ const TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
6
6
  * @classdesc
7
7
  * an object containing all tileset
8
8
  */
9
- class TMXTilesetGroup {
9
+ export default class TMXTilesetGroup {
10
10
 
11
11
  constructor() {
12
12
  this.tilesets = [];
@@ -72,4 +72,3 @@ class TMXTilesetGroup {
72
72
  }
73
73
  }
74
74
 
75
- export default TMXTilesetGroup;
@@ -24,7 +24,7 @@ const offsetsStaggerY = [
24
24
  * an Hexagonal Map Renderder
25
25
  * @augments TMXRenderer
26
26
  */
27
- class TMXHexagonalRenderer extends TMXRenderer {
27
+ export default class TMXHexagonalRenderer extends TMXRenderer {
28
28
  /**
29
29
  * @param {TMXTileMap} map - the TMX map
30
30
  */
@@ -496,4 +496,3 @@ class TMXHexagonalRenderer extends TMXRenderer {
496
496
  }
497
497
  }
498
498
 
499
- export default TMXHexagonalRenderer;
@@ -9,7 +9,7 @@ import TMXLayer from "./../TMXLayer.js";
9
9
  * an Isometric Map Renderder
10
10
  * @augments TMXRenderer
11
11
  */
12
- class TMXIsometricRenderer extends TMXRenderer {
12
+ export default class TMXIsometricRenderer extends TMXRenderer {
13
13
  /**
14
14
  * @param {TMXTileMap} map - the TMX map
15
15
  */
@@ -209,4 +209,3 @@ class TMXIsometricRenderer extends TMXRenderer {
209
209
  }
210
210
  }
211
211
 
212
- export default TMXIsometricRenderer;
@@ -7,7 +7,7 @@ import TMXRenderer from "./TMXRenderer.js";
7
7
  * an Orthogonal Map Renderder
8
8
  * @augments TMXRenderer
9
9
  */
10
- class TMXOrthogonalRenderer extends TMXRenderer {
10
+ export default class TMXOrthogonalRenderer extends TMXRenderer {
11
11
  /**
12
12
  * @param {TMXTileMap} map - the TMX map
13
13
  */
@@ -147,4 +147,3 @@ class TMXOrthogonalRenderer extends TMXRenderer {
147
147
  }
148
148
  }
149
149
 
150
- export default TMXOrthogonalRenderer;
@@ -8,7 +8,7 @@ import Bounds from "./../../../physics/bounds.js";
8
8
  * @classdesc
9
9
  * The map renderer base class
10
10
  */
11
- class TMXRenderer {
11
+ export default class TMXRenderer {
12
12
  /**
13
13
  * @param {number} cols - width of the tilemap in tiles
14
14
  * @param {number} rows - height of the tilemap in tiles
@@ -111,6 +111,5 @@ class TMXRenderer {
111
111
 
112
112
  }
113
113
 
114
- export default TMXRenderer;
115
114
 
116
115
  /* eslint-enable no-unused-vars */
@@ -9,7 +9,7 @@ import { degToRad } from "./../../../math/math.js";
9
9
  * a Staggered Map Renderder
10
10
  * @augments TMXHexagonalRenderer
11
11
  */
12
- class TMXStaggeredRenderer extends TMXHexagonalRenderer {
12
+ export default class TMXStaggeredRenderer extends TMXHexagonalRenderer {
13
13
 
14
14
  /**
15
15
  * return true if the renderer can render the specified layer
@@ -98,4 +98,3 @@ class TMXStaggeredRenderer extends TMXHexagonalRenderer {
98
98
  }
99
99
  }
100
100
 
101
- export default TMXStaggeredRenderer;
package/src/math/color.js CHANGED
@@ -182,7 +182,7 @@ var cssToRGB = new Map();
182
182
  * @classdesc
183
183
  * A color manipulation object.
184
184
  */
185
- class Color {
185
+ export default class Color {
186
186
  /**
187
187
  * @param {number} [r=0] - red component or array of color components
188
188
  * @param {number} [g=0] - green component
@@ -606,4 +606,3 @@ class Color {
606
606
  }
607
607
  }
608
608
 
609
- export default Color;
@@ -7,7 +7,7 @@ import Matrix3d from "./matrix3.js";
7
7
  * the identity matrix and parameters position : <br>
8
8
  * <img src="images/identity-matrix_2x.png"/>
9
9
  */
10
- class Matrix2d {
10
+ export default class Matrix2d {
11
11
  /**
12
12
  * @param {(Matrix2d|Matrix3d|...number)} args - an instance of me.Matrix2d or me.Matrix3d to copy from, or individual matrix components (See {@link Matrix2d.setTransform}). If not arguments are given, the matrix will be set to Identity.
13
13
  */
@@ -491,4 +491,3 @@ class Matrix2d {
491
491
  }
492
492
  }
493
493
 
494
- export default Matrix2d;
@@ -5,7 +5,7 @@ import { EPSILON } from "./math.js";
5
5
  * @classdesc
6
6
  * a 4x4 Matrix3d Object
7
7
  */
8
- class Matrix3d {
8
+ export default class Matrix3d {
9
9
  /**
10
10
  * @param {(Matrix3d|...number)} args - An instance of me.Matrix3d to copy from, or individual Matrix components (See {@link Matrix3d.setTransform}). If not arguments are given, the matrix will be set to Identity.
11
11
  */
@@ -669,4 +669,3 @@ class Matrix3d {
669
669
  }
670
670
  }
671
671
 
672
- export default Matrix3d;
@@ -7,7 +7,7 @@ import {clamp} from "./math.js";
7
7
  * A Vector2d object that provide notification by executing the given callback when the vector is changed.
8
8
  * @augments Vector2d
9
9
  */
10
- class ObservableVector2d extends Vector2d {
10
+ export default class ObservableVector2d extends Vector2d {
11
11
  /**
12
12
  * @param {number} x - x value of the vector
13
13
  * @param {number} y - y value of the vector
@@ -459,4 +459,3 @@ class ObservableVector2d extends Vector2d {
459
459
  }
460
460
  }
461
461
 
462
- export default ObservableVector2d;
@@ -7,7 +7,7 @@ import pool from "./../system/pooling.js";
7
7
  * A Vector3d object that provide notification by executing the given callback when the vector is changed.
8
8
  * @augments Vector3d
9
9
  */
10
- class ObservableVector3d extends Vector3d {
10
+ export default class ObservableVector3d extends Vector3d {
11
11
  /**
12
12
  * @param {number} x - x value of the vector
13
13
  * @param {number} y - y value of the vector
@@ -549,4 +549,3 @@ class ObservableVector3d extends Vector3d {
549
549
  }
550
550
  }
551
551
 
552
- export default ObservableVector3d;
@@ -5,7 +5,7 @@ import pool from "./../system/pooling.js";
5
5
  * @classdesc
6
6
  * a generic 2D Vector Object
7
7
  */
8
- class Vector2d {
8
+ export default class Vector2d {
9
9
  /**
10
10
  * @param {number} [x=0] - x value of the vector
11
11
  * @param {number} [y=0] - y value of the vector
@@ -516,4 +516,3 @@ class Vector2d {
516
516
  }
517
517
  }
518
518
 
519
- export default Vector2d;
@@ -5,7 +5,7 @@ import pool from "./../system/pooling.js";
5
5
  * @classdesc
6
6
  * a generic 3D Vector Object
7
7
  */
8
- class Vector3d {
8
+ export default class Vector3d {
9
9
  /**
10
10
  * @param {number} [x=0] - x value of the vector
11
11
  * @param {number} [y=0] - y value of the vector
@@ -557,4 +557,3 @@ class Vector3d {
557
557
  }
558
558
  }
559
559
 
560
- export default Vector3d;
@@ -21,7 +21,7 @@ function createDefaultParticleTexture(w = 8, h = 8) {
21
21
  * Particle Emitter Object.
22
22
  * @augments Container
23
23
  */
24
- class ParticleEmitter extends Container {
24
+ export default class ParticleEmitter extends Container {
25
25
  /**
26
26
  * @param {number} x - x position of the particle emitter
27
27
  * @param {number} y - y position of the particle emitter
@@ -256,4 +256,3 @@ class ParticleEmitter extends Container {
256
256
  }
257
257
  }
258
258
 
259
- export default ParticleEmitter;
@@ -8,7 +8,7 @@ import Renderable from "./../renderable/renderable.js";
8
8
  * Single Particle Object.
9
9
  * @augments Renderable
10
10
  */
11
- class Particle extends Renderable {
11
+ export default class Particle extends Renderable {
12
12
  /**
13
13
  * @param {ParticleEmitter} emitter - the particle emitter
14
14
  */
@@ -176,4 +176,3 @@ class Particle extends Renderable {
176
176
  }
177
177
  }
178
178
 
179
- export default Particle;
@@ -14,7 +14,7 @@ import Point from "../geometries/point.js";
14
14
  * a Generic Physic Body Object with some physic properties and behavior functionality, to as a member of a Renderable.
15
15
  * @see Renderable.body
16
16
  */
17
- class Body {
17
+ export default class Body {
18
18
  /**
19
19
  * @param {Renderable} ancestor - the parent object this body is attached to
20
20
  * @param {Rect|Rect[]|Polygon|Polygon[]|Line|Line[]|Ellipse|Ellipse[]|Point|Point[]|Bounds|Bounds[]|object} [shapes] - a initial shape, list of shapes, or JSON object defining the body
@@ -692,4 +692,3 @@ class Body {
692
692
  }
693
693
  }
694
694
 
695
- export default Body;