melonjs 14.4.0 → 14.5.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.
- package/README.md +11 -55
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
- package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
- package/dist/melonjs.mjs/_virtual/howler.js +1 -1
- package/dist/melonjs.mjs/_virtual/index.js +1 -1
- package/dist/melonjs.mjs/_virtual/index2.js +1 -1
- package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
- package/dist/melonjs.mjs/application/application.js +1 -1
- package/dist/melonjs.mjs/application/header.js +1 -1
- package/dist/melonjs.mjs/application/resize.js +1 -1
- package/dist/melonjs.mjs/application/settings.js +1 -1
- package/dist/melonjs.mjs/audio/audio.js +4 -4
- package/dist/melonjs.mjs/camera/camera2d.js +1 -1
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/entity/entity.js +43 -9
- package/dist/melonjs.mjs/geometries/ellipse.js +2 -3
- package/dist/melonjs.mjs/geometries/line.js +1 -1
- package/dist/melonjs.mjs/geometries/path2d.js +18 -42
- package/dist/melonjs.mjs/geometries/point.js +1 -6
- package/dist/melonjs.mjs/geometries/poly.js +2 -5
- package/dist/melonjs.mjs/geometries/rectangle.js +13 -9
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/index.js +8 -6
- package/dist/melonjs.mjs/input/gamepad.js +10 -16
- package/dist/melonjs.mjs/input/input.js +1 -1
- package/dist/melonjs.mjs/input/keyboard.js +1 -1
- package/dist/melonjs.mjs/input/pointer.js +1 -1
- package/dist/melonjs.mjs/input/pointerevent.js +2 -16
- package/dist/melonjs.mjs/lang/console.js +1 -1
- package/dist/melonjs.mjs/lang/deprecated.js +1 -1
- package/dist/melonjs.mjs/level/level.js +3 -3
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -8
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +8 -4
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +5 -5
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
- package/dist/melonjs.mjs/loader/cache.js +24 -0
- package/dist/melonjs.mjs/loader/loader.js +331 -716
- package/dist/melonjs.mjs/loader/loadingscreen.js +4 -4
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/loader/parser.js +281 -0
- package/dist/melonjs.mjs/loader/settings.js +91 -0
- package/dist/melonjs.mjs/math/color.js +1 -1
- package/dist/melonjs.mjs/math/math.js +1 -1
- package/dist/melonjs.mjs/math/matrix2.js +7 -9
- package/dist/melonjs.mjs/math/matrix3.js +18 -21
- package/dist/melonjs.mjs/math/observable_vector2.js +3 -3
- package/dist/melonjs.mjs/math/observable_vector3.js +3 -4
- package/dist/melonjs.mjs/math/vector2.js +3 -3
- package/dist/melonjs.mjs/math/vector3.js +3 -4
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
- package/dist/melonjs.mjs/particles/emitter.js +3 -3
- package/dist/melonjs.mjs/particles/particle.js +1 -1
- package/dist/melonjs.mjs/particles/settings.js +1 -1
- package/dist/melonjs.mjs/physics/body.js +18 -14
- package/dist/melonjs.mjs/physics/bounds.js +18 -70
- package/dist/melonjs.mjs/physics/collision.js +1 -1
- package/dist/melonjs.mjs/physics/detector.js +1 -1
- package/dist/melonjs.mjs/physics/quadtree.js +1 -1
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +1 -1
- package/dist/melonjs.mjs/physics/world.js +1 -1
- package/dist/melonjs.mjs/plugin/plugin.js +3 -3
- package/dist/melonjs.mjs/renderable/collectable.js +1 -1
- package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
- package/dist/melonjs.mjs/renderable/container.js +25 -19
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +7 -1
- package/dist/melonjs.mjs/renderable/light2d.js +1 -1
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
- package/dist/melonjs.mjs/renderable/renderable.js +126 -105
- package/dist/melonjs.mjs/renderable/sprite.js +33 -54
- package/dist/melonjs.mjs/renderable/trigger.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
- package/dist/melonjs.mjs/state/stage.js +1 -1
- package/dist/melonjs.mjs/state/state.js +2 -2
- package/dist/melonjs.mjs/system/device.js +1 -1
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +1 -1
- package/dist/melonjs.mjs/system/platform.js +1 -1
- package/dist/melonjs.mjs/system/pooling.js +8 -18
- package/dist/melonjs.mjs/system/save.js +1 -1
- package/dist/melonjs.mjs/system/timer.js +1 -1
- package/dist/melonjs.mjs/text/bitmaptext.js +66 -8
- package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
- package/dist/melonjs.mjs/text/glyph.js +1 -1
- package/dist/melonjs.mjs/text/text.js +1 -1
- package/dist/melonjs.mjs/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/text/textstyle.js +1 -1
- package/dist/melonjs.mjs/tweens/easing.js +1 -1
- package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
- package/dist/melonjs.mjs/tweens/tween.js +1 -1
- package/dist/melonjs.mjs/utils/agent.js +1 -1
- package/dist/melonjs.mjs/utils/array.js +1 -1
- package/dist/melonjs.mjs/utils/file.js +1 -1
- package/dist/melonjs.mjs/utils/function.js +1 -1
- package/dist/melonjs.mjs/utils/string.js +2 -2
- package/dist/melonjs.mjs/utils/utils.js +2 -4
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -1
- package/dist/melonjs.mjs/video/renderer.js +1 -1
- package/dist/melonjs.mjs/video/texture/atlas.js +10 -9
- package/dist/melonjs.mjs/video/texture/cache.js +3 -3
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +1 -1
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +2 -2
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +235 -0
- package/{src/video/webgl → dist/melonjs.mjs/video/webgl/compositors}/webgl_compositor.js +28 -205
- package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +2 -2
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +2 -2
- package/dist/melonjs.module.js +17844 -17809
- package/dist/types/entity/entity.d.ts +2 -2
- package/dist/types/geometries/path2d.d.ts +5 -31
- package/dist/types/geometries/point.d.ts +2 -7
- package/dist/types/geometries/poly.d.ts +0 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/loader/cache.d.ts +7 -0
- package/dist/types/loader/loader.d.ts +166 -181
- package/dist/types/loader/parser.d.ts +41 -0
- package/dist/types/loader/settings.d.ts +57 -0
- package/dist/types/particles/emitter.d.ts +4 -4
- package/dist/types/physics/bounds.d.ts +29 -84
- package/dist/types/renderable/container.d.ts +0 -11
- package/dist/types/renderable/renderable.d.ts +37 -31
- package/dist/types/renderable/sprite.d.ts +3 -3
- package/dist/types/state/state.d.ts +1 -1
- package/dist/types/system/pooling.d.ts +2 -2
- package/dist/types/video/renderer.d.ts +1 -1
- package/dist/types/video/webgl/compositors/compositor.d.ts +101 -0
- package/dist/types/video/webgl/compositors/webgl_compositor.d.ts +86 -0
- package/dist/types/video/webgl/webgl_compositor.d.ts +2 -3
- package/dist/types/video/webgl/webgl_renderer.d.ts +1 -1
- package/package.json +16 -15
- package/src/audio/audio.js +3 -3
- package/src/entity/entity.js +42 -8
- package/src/geometries/ellipse.js +1 -2
- package/src/geometries/path2d.js +17 -41
- package/src/geometries/point.js +0 -5
- package/src/geometries/poly.js +1 -4
- package/src/geometries/rectangle.js +12 -8
- package/src/index.js +2 -2
- package/src/input/gamepad.js +9 -15
- package/src/input/pointerevent.js +1 -15
- package/src/level/level.js +2 -2
- package/src/level/tiled/TMXLayer.js +0 -7
- package/src/level/tiled/TMXTileMap.js +7 -3
- package/src/level/tiled/TMXTileset.js +4 -4
- package/src/loader/cache.js +16 -0
- package/src/loader/loader.js +339 -711
- package/src/loader/loadingscreen.js +3 -3
- package/src/loader/parser.js +279 -0
- package/src/loader/settings.js +85 -0
- package/src/math/matrix2.js +6 -8
- package/src/math/matrix3.js +17 -20
- package/src/math/observable_vector2.js +2 -2
- package/src/math/observable_vector3.js +2 -3
- package/src/math/vector2.js +2 -2
- package/src/math/vector3.js +2 -3
- package/src/particles/emitter.js +2 -2
- package/src/physics/body.js +17 -13
- package/src/physics/bounds.js +17 -69
- package/src/renderable/container.js +24 -18
- package/src/renderable/imagelayer.js +6 -0
- package/src/renderable/renderable.js +125 -104
- package/src/renderable/sprite.js +32 -53
- package/src/state/state.js +1 -1
- package/src/system/pooling.js +7 -17
- package/src/text/bitmaptext.js +65 -7
- package/src/utils/string.js +1 -1
- package/src/utils/utils.js +1 -3
- package/src/video/texture/atlas.js +9 -8
- package/src/video/texture/cache.js +2 -2
- package/src/video/video.js +1 -1
- package/src/video/webgl/compositors/compositor.js +227 -0
- package/src/video/webgl/compositors/webgl_compositor.js +300 -0
- package/src/video/webgl/webgl_renderer.js +1 -1
|
@@ -315,21 +315,7 @@ function dispatchEvent(normalizedEvents) {
|
|
|
315
315
|
pointer.gameLocalY = pointer.gameY - parentBounds.y;
|
|
316
316
|
}
|
|
317
317
|
|
|
318
|
-
|
|
319
|
-
var gameY = pointer.gameY;
|
|
320
|
-
|
|
321
|
-
// apply inverse transformation for renderable
|
|
322
|
-
if (typeof region.currentTransform !== "undefined") {
|
|
323
|
-
if (!region.currentTransform.isIdentity()) {
|
|
324
|
-
var invV = region.currentTransform.applyInverse(
|
|
325
|
-
pool.pull("Vector2d", gameX, gameY)
|
|
326
|
-
);
|
|
327
|
-
gameX = invV.x;
|
|
328
|
-
gameY = invV.y;
|
|
329
|
-
pool.push(invV);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
eventInBounds = bounds.contains(gameX, gameY);
|
|
318
|
+
eventInBounds = bounds.contains(pointer.gameX, pointer.gameY);
|
|
333
319
|
|
|
334
320
|
switch (pointer.type) {
|
|
335
321
|
case POINTER_MOVE[0]:
|
package/src/level/level.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import utils from "./../utils/utils.js";
|
|
2
2
|
import * as event from "./../system/event.js";
|
|
3
3
|
import state from "./../state/state.js";
|
|
4
|
-
import
|
|
4
|
+
import { getTMX } from "./../loader/loader.js";
|
|
5
5
|
import { game } from "../index.js";
|
|
6
6
|
import TMXTileMap from "./tiled/TMXTileMap.js";
|
|
7
7
|
|
|
@@ -95,7 +95,7 @@ var level = {
|
|
|
95
95
|
// just load the level with the XML stuff
|
|
96
96
|
if (levels[levelId] == null) {
|
|
97
97
|
//console.log("loading "+ levelId);
|
|
98
|
-
levels[levelId] = new TMXTileMap(levelId,
|
|
98
|
+
levels[levelId] = new TMXTileMap(levelId, getTMX(levelId));
|
|
99
99
|
// level index
|
|
100
100
|
levelIdx.push(levelId);
|
|
101
101
|
}
|
|
@@ -233,7 +233,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
233
233
|
|
|
234
234
|
}
|
|
235
235
|
|
|
236
|
-
|
|
237
236
|
// called when the layer is added to the game world or a container
|
|
238
237
|
onActivateEvent() {
|
|
239
238
|
|
|
@@ -257,10 +256,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
257
256
|
this.preRender = false;
|
|
258
257
|
}
|
|
259
258
|
|
|
260
|
-
// Resize the bounding rect
|
|
261
|
-
this.getBounds().addBounds(this.getRenderer().getBounds(), true);
|
|
262
|
-
this.getBounds().shift(this.pos);
|
|
263
|
-
|
|
264
259
|
// if pre-rendering method is use, create an offline canvas/renderer
|
|
265
260
|
if ((this.preRender === true) && (!this.canvasRenderer)) {
|
|
266
261
|
this.canvasRenderer = new CanvasRenderer({
|
|
@@ -300,7 +295,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
300
295
|
return this.renderer;
|
|
301
296
|
}
|
|
302
297
|
|
|
303
|
-
|
|
304
298
|
/**
|
|
305
299
|
* Return the TileId of the Tile at the specified position
|
|
306
300
|
* @param {number} x - X coordinate (in world/pixels coordinates)
|
|
@@ -415,7 +409,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
415
409
|
}
|
|
416
410
|
return result;
|
|
417
411
|
}
|
|
418
|
-
|
|
419
412
|
return false;
|
|
420
413
|
}
|
|
421
414
|
|
|
@@ -195,11 +195,15 @@ function readObjectGroup(map, data, z) {
|
|
|
195
195
|
// background color
|
|
196
196
|
this.backgroundcolor = data.backgroundcolor;
|
|
197
197
|
|
|
198
|
-
//
|
|
199
|
-
if (
|
|
200
|
-
warning
|
|
198
|
+
// if version is undefined or empty it usually means the map was not created with Tiled
|
|
199
|
+
if (this.version !== "undefined" && this.version !== "") {
|
|
200
|
+
// deprecation warning if map tiled version is older than 1.5
|
|
201
|
+
if (utils.checkVersion(this.version, "1.5") < 0) {
|
|
202
|
+
warning("("+this.name+") Tiled Map format version 1.4 and below", "format 1.5 or higher", "10.4.4");
|
|
203
|
+
}
|
|
201
204
|
}
|
|
202
205
|
|
|
206
|
+
|
|
203
207
|
// set additional map properties (if any)
|
|
204
208
|
applyTMXProperties(this, data);
|
|
205
209
|
|
|
@@ -2,7 +2,7 @@ import Vector2d from "./../../math/vector2.js";
|
|
|
2
2
|
import { renderer } from "./../../video/video.js";
|
|
3
3
|
import * as fileUtil from "./../../utils/file.js";
|
|
4
4
|
import timer from "./../../system/timer.js";
|
|
5
|
-
import
|
|
5
|
+
import { getTMX, getImage } from "./../../loader/loader.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @classdesc
|
|
@@ -30,7 +30,7 @@ import loader from "./../../loader/loader.js";
|
|
|
30
30
|
var ext = fileUtil.getExtension(src);
|
|
31
31
|
if (ext === "tsx" || ext === "json") {
|
|
32
32
|
// load the external tileset (TSX/JSON)
|
|
33
|
-
tileset =
|
|
33
|
+
tileset = getTMX(fileUtil.getBasename(src));
|
|
34
34
|
if (!tileset) {
|
|
35
35
|
throw new Error(src + " external TSX/JSON tileset not found");
|
|
36
36
|
}
|
|
@@ -101,7 +101,7 @@ import loader from "./../../loader/loader.js";
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
if ("image" in tiles[i]) {
|
|
104
|
-
var image =
|
|
104
|
+
var image = getImage(tiles[i].image);
|
|
105
105
|
if (!image) {
|
|
106
106
|
throw new Error("melonJS: '" + tiles[i].image + "' file for tile '" + (+i + this.firstgid) + "' not found!");
|
|
107
107
|
}
|
|
@@ -132,7 +132,7 @@ import loader from "./../../loader/loader.js";
|
|
|
132
132
|
if (this.isCollection === false) {
|
|
133
133
|
|
|
134
134
|
// get the global tileset texture
|
|
135
|
-
this.image =
|
|
135
|
+
this.image = getImage(tileset.image);
|
|
136
136
|
|
|
137
137
|
if (!this.image) {
|
|
138
138
|
throw new Error("melonJS: '" + tileset.image + "' file for tileset '" + this.name + "' not found!");
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* where all preloaded content is cached
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// contains all the images loaded
|
|
7
|
+
export let imgList = {};
|
|
8
|
+
|
|
9
|
+
// contains all the TMX loaded
|
|
10
|
+
export let tmxList = {};
|
|
11
|
+
|
|
12
|
+
// contains all the binary files loaded
|
|
13
|
+
export let binList = {};
|
|
14
|
+
|
|
15
|
+
// contains all the JSON files
|
|
16
|
+
export let jsonList = {};
|