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.
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +2 -2
- package/dist/melonjs.mjs/_virtual/arraymultimap.js +2 -2
- package/dist/melonjs.mjs/_virtual/earcut.js +2 -2
- package/dist/melonjs.mjs/_virtual/howler.js +2 -2
- package/dist/melonjs.mjs/_virtual/index.js +2 -2
- package/dist/melonjs.mjs/_virtual/index2.js +2 -2
- package/dist/melonjs.mjs/_virtual/multimap.js +2 -2
- package/dist/melonjs.mjs/_virtual/setmultimap.js +2 -2
- package/dist/melonjs.mjs/application/application.js +141 -10
- package/dist/melonjs.mjs/application/header.js +34 -0
- package/dist/melonjs.mjs/application/resize.js +4 -2
- package/dist/melonjs.mjs/application/settings.js +28 -0
- package/dist/melonjs.mjs/audio/audio.js +2 -2
- package/dist/melonjs.mjs/camera/camera2d.js +3 -3
- package/dist/melonjs.mjs/const.js +32 -0
- package/dist/melonjs.mjs/entity/entity.js +2 -2
- package/dist/melonjs.mjs/game.js +1 -1
- package/dist/melonjs.mjs/geometries/ellipse.js +2 -2
- package/dist/melonjs.mjs/geometries/line.js +2 -2
- package/dist/melonjs.mjs/geometries/path2d.js +2 -2
- package/dist/melonjs.mjs/geometries/point.js +2 -2
- package/dist/melonjs.mjs/geometries/poly.js +2 -2
- package/dist/melonjs.mjs/geometries/rectangle.js +2 -2
- package/dist/melonjs.mjs/geometries/roundrect.js +2 -2
- package/dist/melonjs.mjs/index.js +44 -33
- package/dist/melonjs.mjs/input/gamepad.js +2 -2
- package/dist/melonjs.mjs/input/input.js +2 -2
- package/dist/melonjs.mjs/input/keyboard.js +2 -2
- package/dist/melonjs.mjs/input/pointer.js +3 -3
- package/dist/melonjs.mjs/input/pointerevent.js +3 -3
- package/dist/melonjs.mjs/lang/console.js +44 -0
- package/dist/melonjs.mjs/lang/deprecated.js +4 -40
- package/dist/melonjs.mjs/level/level.js +3 -3
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +2 -23
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +68 -58
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +2 -64
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +10 -26
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +18 -84
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +2 -16
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -10
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +37 -14
- package/dist/melonjs.mjs/level/tiled/constants.js +17 -0
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +7 -8
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +3 -6
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -14
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +38 -0
- package/dist/melonjs.mjs/loader/loader.js +5 -3
- package/dist/melonjs.mjs/loader/loadingscreen.js +3 -3
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +2 -2
- package/dist/melonjs.mjs/math/color.js +2 -2
- package/dist/melonjs.mjs/math/math.js +2 -2
- package/dist/melonjs.mjs/math/matrix2.js +2 -2
- package/dist/melonjs.mjs/math/matrix3.js +2 -2
- package/dist/melonjs.mjs/math/observable_vector2.js +2 -2
- package/dist/melonjs.mjs/math/observable_vector3.js +2 -2
- package/dist/melonjs.mjs/math/vector2.js +2 -2
- package/dist/melonjs.mjs/math/vector3.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +2 -2
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +2 -2
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +2 -2
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +2 -2
- package/dist/melonjs.mjs/particles/emitter.js +2 -2
- package/dist/melonjs.mjs/particles/particle.js +2 -2
- package/dist/melonjs.mjs/particles/settings.js +2 -2
- package/dist/melonjs.mjs/physics/body.js +2 -2
- package/dist/melonjs.mjs/physics/bounds.js +2 -2
- package/dist/melonjs.mjs/physics/collision.js +4 -4
- package/dist/melonjs.mjs/physics/detector.js +175 -147
- package/dist/melonjs.mjs/physics/quadtree.js +2 -2
- package/dist/melonjs.mjs/physics/response.js +2 -2
- package/dist/melonjs.mjs/physics/sat.js +2 -2
- package/dist/melonjs.mjs/physics/world.js +11 -31
- package/dist/melonjs.mjs/plugin/plugin.js +4 -4
- package/dist/melonjs.mjs/renderable/collectable.js +2 -2
- package/dist/melonjs.mjs/renderable/colorlayer.js +2 -2
- package/dist/melonjs.mjs/renderable/container.js +4 -88
- package/dist/melonjs.mjs/renderable/dragndrop.js +2 -2
- package/dist/melonjs.mjs/renderable/imagelayer.js +3 -3
- package/dist/melonjs.mjs/renderable/light2d.js +2 -2
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
- package/dist/melonjs.mjs/renderable/renderable.js +2 -2
- package/dist/melonjs.mjs/renderable/sprite.js +2 -2
- package/dist/melonjs.mjs/renderable/trigger.js +3 -3
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +2 -2
- package/dist/melonjs.mjs/state/stage.js +3 -3
- package/dist/melonjs.mjs/state/state.js +3 -3
- package/dist/melonjs.mjs/system/device.js +3 -23
- package/dist/melonjs.mjs/system/dom.js +2 -2
- package/dist/melonjs.mjs/system/event.js +2 -2
- package/dist/melonjs.mjs/system/platform.js +2 -2
- package/dist/melonjs.mjs/system/pooling.js +2 -2
- package/dist/melonjs.mjs/system/save.js +2 -2
- package/dist/melonjs.mjs/system/timer.js +2 -2
- package/dist/melonjs.mjs/text/bitmaptext.js +2 -2
- package/dist/melonjs.mjs/text/bitmaptextdata.js +2 -2
- package/dist/melonjs.mjs/text/glyph.js +2 -2
- package/dist/melonjs.mjs/text/text.js +2 -2
- package/dist/melonjs.mjs/text/textmetrics.js +2 -2
- package/dist/melonjs.mjs/text/textstyle.js +2 -2
- package/dist/melonjs.mjs/tweens/easing.js +2 -2
- package/dist/melonjs.mjs/tweens/interpolation.js +2 -2
- package/dist/melonjs.mjs/tweens/tween.js +3 -3
- package/dist/melonjs.mjs/utils/agent.js +2 -2
- package/dist/melonjs.mjs/utils/array.js +2 -2
- package/dist/melonjs.mjs/utils/file.js +2 -2
- package/dist/melonjs.mjs/utils/function.js +2 -2
- package/dist/melonjs.mjs/utils/string.js +2 -2
- package/dist/melonjs.mjs/utils/utils.js +2 -2
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +5 -2
- package/dist/melonjs.mjs/video/renderer.js +9 -2
- package/dist/melonjs.mjs/video/texture/atlas.js +2 -2
- package/dist/melonjs.mjs/video/texture/cache.js +2 -2
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +4 -3
- package/dist/melonjs.mjs/video/utils/autodetect.js +27 -0
- package/dist/melonjs.mjs/video/utils/resize.js +1 -1
- package/dist/melonjs.mjs/video/video.js +29 -158
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +2 -2
- package/dist/melonjs.mjs/video/webgl/glshader.js +3 -4
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +21 -3
- package/dist/melonjs.mjs/video/webgl/utils/program.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/string.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +2 -2
- package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +2 -2
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +5 -2
- package/dist/melonjs.module.js +20845 -20968
- package/dist/types/application/application.d.ts +148 -0
- package/dist/types/application/header.d.ts +5 -0
- package/dist/types/application/resize.d.ts +6 -0
- package/dist/types/application/settings.d.ts +18 -0
- package/dist/types/audio/audio.d.ts +267 -0
- package/dist/types/camera/camera2d.d.ts +289 -0
- package/dist/types/const.d.ts +21 -0
- package/dist/types/entity/entity.d.ts +98 -0
- package/{src/game.js → dist/types/game.d.ts} +3 -14
- package/dist/types/geometries/ellipse.d.ts +154 -0
- package/dist/types/geometries/line.d.ts +11 -0
- package/dist/types/geometries/path2d.d.ts +121 -0
- package/dist/types/geometries/point.d.ts +53 -0
- package/dist/types/geometries/poly.d.ts +222 -0
- package/dist/types/geometries/rectangle.d.ts +176 -0
- package/dist/types/geometries/roundrect.d.ts +52 -0
- package/dist/types/index.d.ts +4 -2
- package/dist/types/input/gamepad.d.ts +95 -0
- package/dist/types/input/input.d.ts +15 -0
- package/dist/types/input/keyboard.d.ts +205 -0
- package/dist/types/input/pointer.d.ts +270 -0
- package/dist/types/input/pointerevent.d.ts +181 -0
- package/dist/types/lang/console.d.ts +7 -0
- package/dist/types/lang/deprecated.d.ts +45 -0
- package/dist/types/level/level.d.ts +134 -0
- package/dist/types/level/tiled/TMXGroup.d.ts +61 -0
- package/dist/types/level/tiled/TMXLayer.d.ts +158 -0
- package/dist/types/level/tiled/TMXObject.d.ts +133 -0
- package/dist/types/level/tiled/TMXTile.d.ts +64 -0
- package/dist/types/level/tiled/TMXTileMap.d.ts +142 -0
- package/dist/types/level/tiled/TMXTileset.d.ts +80 -0
- package/dist/types/level/tiled/TMXTilesetGroup.d.ts +26 -0
- package/dist/types/level/tiled/TMXUtils.d.ts +47 -0
- package/dist/types/level/tiled/constants.d.ts +5 -0
- package/dist/types/level/tiled/renderer/TMXHexagonalRenderer.d.ts +83 -0
- package/dist/types/level/tiled/renderer/TMXIsometricRenderer.d.ts +51 -0
- package/dist/types/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +43 -0
- package/dist/types/level/tiled/renderer/TMXRenderer.d.ts +63 -0
- package/dist/types/level/tiled/renderer/TMXStaggeredRenderer.d.ts +8 -0
- package/dist/types/level/tiled/renderer/autodetect.d.ts +9 -0
- package/dist/types/loader/loader.d.ts +181 -0
- package/dist/types/loader/loadingscreen.d.ts +18 -0
- package/dist/types/math/color.d.ts +170 -0
- package/dist/types/math/math.d.ts +165 -0
- package/dist/types/math/matrix2.d.ts +209 -0
- package/dist/types/math/matrix3.d.ts +236 -0
- package/dist/types/math/observable_vector2.d.ts +278 -0
- package/dist/types/math/observable_vector3.d.ts +277 -0
- package/dist/types/math/vector2.d.ts +327 -0
- package/dist/types/math/vector3.d.ts +332 -0
- package/dist/types/particles/emitter.d.ts +188 -0
- package/dist/types/particles/particle.d.ts +32 -0
- package/dist/types/particles/settings.d.ts +32 -0
- package/dist/types/physics/body.d.ts +330 -0
- package/dist/types/physics/bounds.d.ts +250 -0
- package/dist/types/physics/collision.d.ts +44 -0
- package/dist/types/physics/detector.d.ts +64 -0
- package/dist/types/physics/quadtree.d.ts +79 -0
- package/dist/types/physics/response.d.ts +37 -0
- package/dist/types/physics/sat.d.ts +48 -0
- package/dist/types/physics/world.d.ts +83 -0
- package/dist/types/plugin/plugin.d.ts +10 -0
- package/dist/types/polyfill/console.d.ts +0 -0
- package/dist/types/polyfill/index.d.ts +1 -0
- package/dist/types/polyfill/performance.d.ts +0 -0
- package/dist/types/polyfill/requestAnimationFrame.d.ts +1 -0
- package/dist/types/polyfill/roundrect.d.ts +0 -0
- package/dist/types/renderable/collectable.d.ts +19 -0
- package/dist/types/renderable/colorlayer.d.ts +28 -0
- package/dist/types/renderable/container.d.ts +302 -0
- package/dist/types/renderable/dragndrop.d.ts +118 -0
- package/dist/types/renderable/imagelayer.d.ts +106 -0
- package/dist/types/renderable/light2d.d.ts +58 -0
- package/dist/types/renderable/nineslicesprite.d.ts +59 -0
- package/dist/types/renderable/renderable.d.ts +402 -0
- package/dist/types/renderable/sprite.d.ts +268 -0
- package/dist/types/renderable/trigger.d.ts +61 -0
- package/dist/types/renderable/ui/uibaseelement.d.ts +95 -0
- package/dist/types/renderable/ui/uispriteelement.d.ts +127 -0
- package/dist/types/renderable/ui/uitextbutton.d.ts +54 -0
- package/dist/types/state/stage.d.ts +116 -0
- package/dist/types/state/state.d.ts +170 -0
- package/dist/types/system/device.d.ts +579 -0
- package/dist/types/system/dom.d.ts +1 -0
- package/dist/types/system/event.d.ts +473 -0
- package/dist/types/system/platform.d.ts +31 -0
- package/dist/types/system/pooling.d.ts +101 -0
- package/dist/types/system/save.d.ts +25 -0
- package/dist/types/system/timer.d.ts +126 -0
- package/dist/types/text/bitmaptext.d.ts +151 -0
- package/dist/types/text/bitmaptextdata.d.ts +35 -0
- package/dist/types/text/glyph.d.ts +28 -0
- package/dist/types/text/text.d.ts +173 -0
- package/dist/types/text/textmetrics.d.ts +47 -0
- package/dist/types/text/textstyle.d.ts +5 -0
- package/dist/types/tweens/easing.d.ts +46 -0
- package/dist/types/tweens/interpolation.d.ts +18 -0
- package/dist/types/tweens/tween.d.ts +195 -0
- package/dist/types/utils/agent.d.ts +21 -0
- package/dist/types/utils/array.d.ts +39 -0
- package/dist/types/utils/file.d.ts +18 -0
- package/dist/types/utils/function.d.ts +32 -0
- package/dist/types/utils/string.d.ts +50 -0
- package/dist/types/utils/utils.d.ts +17 -0
- package/dist/types/video/canvas/canvas_renderer.d.ts +380 -0
- package/dist/types/video/renderer.d.ts +222 -0
- package/dist/types/video/texture/atlas.d.ts +201 -0
- package/dist/types/video/texture/cache.d.ts +45 -0
- package/dist/types/video/texture/canvas_texture.d.ts +78 -0
- package/dist/types/video/utils/autodetect.d.ts +7 -0
- package/dist/types/video/utils/resize.d.ts +4 -0
- package/dist/types/video/video.d.ts +93 -0
- package/dist/types/video/webgl/buffer/vertex.d.ts +56 -0
- package/dist/types/video/webgl/glshader.d.ts +93 -0
- package/dist/types/video/webgl/utils/attributes.d.ts +4 -0
- package/dist/types/video/webgl/utils/precision.d.ts +13 -0
- package/dist/types/video/webgl/utils/program.d.ts +5 -0
- package/dist/types/video/webgl/utils/string.d.ts +5 -0
- package/dist/types/video/webgl/utils/uniforms.d.ts +4 -0
- package/dist/types/video/webgl/webgl_compositor.d.ts +174 -0
- package/dist/types/video/webgl/webgl_renderer.d.ts +429 -0
- package/package.json +8 -8
- package/src/application/application.js +138 -7
- package/src/application/header.js +25 -0
- package/src/{video/utils → application}/resize.js +11 -6
- package/src/application/settings.js +19 -0
- package/src/camera/camera2d.js +1 -1
- package/src/const.js +23 -0
- package/src/index.js +36 -23
- package/src/input/pointer.js +1 -1
- package/src/input/pointerevent.js +1 -1
- package/src/lang/console.js +36 -0
- package/src/lang/deprecated.js +2 -37
- package/src/level/level.js +1 -1
- package/src/level/tiled/TMXGroup.js +0 -21
- package/src/level/tiled/TMXLayer.js +66 -56
- package/src/level/tiled/TMXObject.js +0 -62
- package/src/level/tiled/TMXTile.js +8 -24
- package/src/level/tiled/TMXTileMap.js +17 -83
- package/src/level/tiled/TMXTileset.js +0 -14
- package/src/level/tiled/TMXTilesetGroup.js +1 -9
- package/src/level/tiled/TMXUtils.js +38 -15
- package/src/level/tiled/constants.js +8 -0
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +5 -6
- package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -4
- package/src/level/tiled/renderer/TMXRenderer.js +0 -12
- package/src/level/tiled/renderer/autodetect.js +29 -0
- package/src/loader/loader.js +3 -1
- package/src/loader/loadingscreen.js +1 -1
- package/src/physics/collision.js +2 -2
- package/src/physics/detector.js +172 -145
- package/src/physics/world.js +10 -30
- package/src/renderable/container.js +7 -91
- package/src/renderable/imagelayer.js +1 -1
- package/src/renderable/trigger.js +1 -1
- package/src/renderable/ui/uibaseelement.js +1 -1
- package/src/state/stage.js +1 -1
- package/src/state/state.js +1 -1
- package/src/system/device.js +0 -20
- package/src/tweens/tween.js +1 -1
- package/src/video/canvas/canvas_renderer.js +3 -0
- package/src/video/renderer.js +7 -0
- package/src/video/texture/canvas_texture.js +2 -1
- package/src/video/utils/autodetect.js +18 -0
- package/src/video/video.js +26 -155
- package/src/video/webgl/glshader.js +3 -4
- package/src/video/webgl/utils/precision.js +18 -0
- package/src/video/webgl/webgl_renderer.js +3 -0
- package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-end.js +0 -13
- package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-start.js +0 -13
- package/dist/melonjs.mjs/node_modules/core-js/internals/a-callable.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/an-object.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/array-includes.js +0 -45
- package/dist/melonjs.mjs/node_modules/core-js/internals/classof-raw.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/classof.js +0 -43
- package/dist/melonjs.mjs/node_modules/core-js/internals/copy-constructor-properties.js +0 -32
- package/dist/melonjs.mjs/node_modules/core-js/internals/create-non-enumerable-property.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/create-property-descriptor.js +0 -17
- package/dist/melonjs.mjs/node_modules/core-js/internals/define-built-in.js +0 -43
- package/dist/melonjs.mjs/node_modules/core-js/internals/define-global-property.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/descriptors.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/document-all.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/document-create-element.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/engine-user-agent.js +0 -14
- package/dist/melonjs.mjs/node_modules/core-js/internals/engine-v8-version.js +0 -39
- package/dist/melonjs.mjs/node_modules/core-js/internals/entry-unbind.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/enum-bug-keys.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/export.js +0 -72
- package/dist/melonjs.mjs/node_modules/core-js/internals/fails.js +0 -16
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-bind-native.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-call.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-name.js +0 -29
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-uncurry-this.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/get-built-in.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/get-method.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/global.js +0 -25
- package/dist/melonjs.mjs/node_modules/core-js/internals/has-own-property.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/hidden-keys.js +0 -10
- package/dist/melonjs.mjs/node_modules/core-js/internals/ie8-dom-define.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/indexed-object.js +0 -28
- package/dist/melonjs.mjs/node_modules/core-js/internals/inspect-source.js +0 -27
- package/dist/melonjs.mjs/node_modules/core-js/internals/internal-state.js +0 -88
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-callable.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-forced.js +0 -34
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-null-or-undefined.js +0 -14
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-object.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-symbol.js +0 -27
- package/dist/melonjs.mjs/node_modules/core-js/internals/length-of-array-like.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/make-built-in.js +0 -68
- package/dist/melonjs.mjs/node_modules/core-js/internals/math-trunc.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-define-property.js +0 -58
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +0 -41
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-names.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-symbols.js +0 -12
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-is-prototype-of.js +0 -14
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-keys-internal.js +0 -35
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-property-is-enumerable.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/ordinary-to-primitive.js +0 -28
- package/dist/melonjs.mjs/node_modules/core-js/internals/own-keys.js +0 -31
- package/dist/melonjs.mjs/node_modules/core-js/internals/require-object-coercible.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared-key.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared-store.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-end.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-forced.js +0 -28
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-start.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim.js +0 -45
- package/dist/melonjs.mjs/node_modules/core-js/internals/symbol-constructor-detection.js +0 -26
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-absolute-index.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-indexed-object.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-integer-or-infinity.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-length.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-object.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-primitive.js +0 -41
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-property-key.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-string-tag-support.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-string.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/try-to-string.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/uid.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/use-symbol-as-uid.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/v8-prototype-define-bug.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/weak-map-basic-detection.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/well-known-symbol.js +0 -41
- package/dist/melonjs.mjs/node_modules/core-js/internals/whitespaces.js +0 -12
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.global-this.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-end.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-left.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-right.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-start.js +0 -22
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.mjs.js +0 -9
|
@@ -1,46 +1,18 @@
|
|
|
1
1
|
import pool from "./../../system/pooling.js";
|
|
2
2
|
import * as event from "./../../system/event.js";
|
|
3
|
-
import game from "
|
|
3
|
+
import { game } from "../../index.js";
|
|
4
|
+
import utils from "./../../utils/utils.js";
|
|
4
5
|
import collision from "./../../physics/collision.js";
|
|
5
6
|
import Body from "./../../physics/body.js";
|
|
6
|
-
import TMXOrthogonalRenderer from "./renderer/TMXOrthogonalRenderer.js";
|
|
7
|
-
import TMXIsometricRenderer from "./renderer/TMXIsometricRenderer.js";
|
|
8
|
-
import TMXHexagonalRenderer from "./renderer/TMXHexagonalRenderer.js";
|
|
9
|
-
import TMXStaggeredRenderer from "./renderer/TMXStaggeredRenderer.js";
|
|
10
7
|
import TMXTileset from "./TMXTileset.js";
|
|
11
8
|
import TMXTilesetGroup from "./TMXTilesetGroup.js";
|
|
12
9
|
import TMXGroup from "./TMXGroup.js";
|
|
13
10
|
import TMXLayer from "./TMXLayer.js";
|
|
14
11
|
import { applyTMXProperties } from "./TMXUtils.js";
|
|
15
|
-
import Container from "
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* set a compatible renderer object
|
|
22
|
-
* for the specified map
|
|
23
|
-
* @ignore
|
|
24
|
-
*/
|
|
25
|
-
function getNewDefaultRenderer(map) {
|
|
26
|
-
switch (map.orientation) {
|
|
27
|
-
case "orthogonal":
|
|
28
|
-
return new TMXOrthogonalRenderer(map);
|
|
29
|
-
|
|
30
|
-
case "isometric":
|
|
31
|
-
return new TMXIsometricRenderer(map);
|
|
32
|
-
|
|
33
|
-
case "hexagonal":
|
|
34
|
-
return new TMXHexagonalRenderer(map);
|
|
35
|
-
|
|
36
|
-
case "staggered":
|
|
37
|
-
return new TMXStaggeredRenderer(map);
|
|
38
|
-
|
|
39
|
-
// if none found, throw an exception
|
|
40
|
-
default:
|
|
41
|
-
throw new Error(map.orientation + " type TMX Tile Map not supported!");
|
|
42
|
-
}
|
|
43
|
-
}
|
|
12
|
+
import Container from "../../renderable/container.js";
|
|
13
|
+
import { COLLISION_GROUP } from "./constants.js";
|
|
14
|
+
import { getNewTMXRenderer } from "./renderer/autodetect.js";
|
|
15
|
+
import { warning } from "../../lang/console.js";
|
|
44
16
|
|
|
45
17
|
/**
|
|
46
18
|
* read the layer Data
|
|
@@ -122,96 +94,73 @@ function readObjectGroup(map, data, z) {
|
|
|
122
94
|
|
|
123
95
|
/**
|
|
124
96
|
* name of the tilemap
|
|
125
|
-
* @public
|
|
126
97
|
* @type {string}
|
|
127
|
-
* @name TMXTileMap#name
|
|
128
98
|
*/
|
|
129
99
|
this.name = levelId;
|
|
130
100
|
|
|
131
101
|
/**
|
|
132
102
|
* width of the tilemap in tiles
|
|
133
|
-
* @public
|
|
134
103
|
* @type {number}
|
|
135
|
-
* @name TMXTileMap#cols
|
|
136
104
|
*/
|
|
137
105
|
this.cols = +data.width;
|
|
106
|
+
|
|
138
107
|
/**
|
|
139
108
|
* height of the tilemap in tiles
|
|
140
|
-
* @public
|
|
141
109
|
* @type {number}
|
|
142
|
-
* @name TMXTileMap#rows
|
|
143
110
|
*/
|
|
144
111
|
this.rows = +data.height;
|
|
145
112
|
|
|
146
113
|
/**
|
|
147
114
|
* Tile width
|
|
148
|
-
* @public
|
|
149
115
|
* @type {number}
|
|
150
|
-
* @name TMXTileMap#tilewidth
|
|
151
116
|
*/
|
|
152
117
|
this.tilewidth = +data.tilewidth;
|
|
153
118
|
|
|
154
119
|
/**
|
|
155
120
|
* Tile height
|
|
156
|
-
* @public
|
|
157
121
|
* @type {number}
|
|
158
|
-
* @name TMXTileMap#tileheight
|
|
159
122
|
*/
|
|
160
123
|
this.tileheight = +data.tileheight;
|
|
161
124
|
|
|
162
125
|
/**
|
|
163
126
|
* is the map an infinite map
|
|
164
|
-
* @public
|
|
165
127
|
* @type {number}
|
|
166
128
|
* @default 0
|
|
167
|
-
* @name TMXTileMap#infinite
|
|
168
129
|
*/
|
|
169
|
-
this.infinite = +data.infinite;
|
|
130
|
+
this.infinite = +data.infinite || 0;
|
|
170
131
|
|
|
171
132
|
/**
|
|
172
133
|
* the map orientation type. melonJS supports “orthogonal”, “isometric”, “staggered” and “hexagonal”.
|
|
173
|
-
* @public
|
|
174
134
|
* @type {string}
|
|
175
135
|
* @default "orthogonal"
|
|
176
|
-
* @name TMXTileMap#orientation
|
|
177
136
|
*/
|
|
178
137
|
this.orientation = data.orientation;
|
|
179
138
|
|
|
180
139
|
/**
|
|
181
140
|
* the order in which tiles on orthogonal tile layers are rendered.
|
|
182
141
|
* (valid values are "left-down", "left-up", "right-down", "right-up")
|
|
183
|
-
* @public
|
|
184
142
|
* @type {string}
|
|
185
143
|
* @default "right-down"
|
|
186
|
-
* @name TMXTileMap#renderorder
|
|
187
144
|
*/
|
|
188
145
|
this.renderorder = data.renderorder || "right-down";
|
|
189
146
|
|
|
190
147
|
/**
|
|
191
148
|
* the TMX format version
|
|
192
|
-
* @public
|
|
193
149
|
* @type {string}
|
|
194
|
-
* @name TMXTileMap#version
|
|
195
150
|
*/
|
|
196
|
-
this.version = data.version;
|
|
151
|
+
this.version = "" + data.version;
|
|
197
152
|
|
|
198
153
|
/**
|
|
199
154
|
* The Tiled version used to save the file (since Tiled 1.0.1).
|
|
200
|
-
* @public
|
|
201
155
|
* @type {string}
|
|
202
|
-
* @name TMXTileMap#tiledversion
|
|
203
156
|
*/
|
|
204
|
-
this.tiledversion = data.tiledversion;
|
|
205
|
-
|
|
157
|
+
this.tiledversion = "" + data.tiledversion;
|
|
206
158
|
|
|
207
159
|
/**
|
|
208
160
|
* The map class.
|
|
209
|
-
* @public
|
|
210
161
|
* @type {string}
|
|
211
|
-
* @name TMXTileMap#class
|
|
212
162
|
*/
|
|
213
|
-
|
|
214
|
-
|
|
163
|
+
this.class = data.class;
|
|
215
164
|
|
|
216
165
|
// tilesets for this map
|
|
217
166
|
this.tilesets = null;
|
|
@@ -228,7 +177,6 @@ function readObjectGroup(map, data, z) {
|
|
|
228
177
|
// Check if map is from melon editor
|
|
229
178
|
this.isEditor = data.editor === "melon-editor";
|
|
230
179
|
|
|
231
|
-
|
|
232
180
|
// object id
|
|
233
181
|
this.nextobjectid = +data.nextobjectid || undefined;
|
|
234
182
|
|
|
@@ -247,37 +195,31 @@ function readObjectGroup(map, data, z) {
|
|
|
247
195
|
// background color
|
|
248
196
|
this.backgroundcolor = data.backgroundcolor;
|
|
249
197
|
|
|
198
|
+
// deprecation warning if map tiled version is older than 1.5
|
|
199
|
+
if (utils.checkVersion(this.version, "1.5") < 0) {
|
|
200
|
+
warning("("+this.name+") Tiled Map format version 1.4 and below", "Tiled 1.5 or higher", "10.4.4");
|
|
201
|
+
}
|
|
202
|
+
|
|
250
203
|
// set additional map properties (if any)
|
|
251
204
|
applyTMXProperties(this, data);
|
|
252
205
|
|
|
253
206
|
// internal flag
|
|
254
207
|
this.initialized = false;
|
|
255
|
-
|
|
256
|
-
if (this.infinite === 1) {
|
|
257
|
-
// #956 Support for Infinite map
|
|
258
|
-
// see as well in me.TMXUtils
|
|
259
|
-
throw new Error("Tiled Infinite Map not supported!");
|
|
260
|
-
}
|
|
261
208
|
}
|
|
262
209
|
|
|
263
210
|
/**
|
|
264
211
|
* Return the map default renderer
|
|
265
|
-
* @name getRenderer
|
|
266
|
-
* @memberof TMXTileMap
|
|
267
|
-
* @public
|
|
268
212
|
* @returns {TMXRenderer} a TMX renderer
|
|
269
213
|
*/
|
|
270
214
|
getRenderer() {
|
|
271
215
|
if ((typeof(this.renderer) === "undefined") || (!this.renderer.canRender(this))) {
|
|
272
|
-
this.renderer =
|
|
216
|
+
this.renderer = getNewTMXRenderer(this);
|
|
273
217
|
}
|
|
274
218
|
return this.renderer;
|
|
275
219
|
}
|
|
276
220
|
|
|
277
221
|
/**
|
|
278
222
|
* return the map bounding rect
|
|
279
|
-
* @name TMXRenderer#getBounds
|
|
280
|
-
* @public
|
|
281
223
|
* @returns {Bounds}
|
|
282
224
|
*/
|
|
283
225
|
getBounds() {
|
|
@@ -358,8 +300,6 @@ function readObjectGroup(map, data, z) {
|
|
|
358
300
|
/**
|
|
359
301
|
* add all the map layers and objects to the given container.
|
|
360
302
|
* note : this will not automatically update the camera viewport
|
|
361
|
-
* @name TMXTileMap#addTo
|
|
362
|
-
* @public
|
|
363
303
|
* @param {Container} container - target container
|
|
364
304
|
* @param {boolean} [flatten=true] - if true, flatten all objects into the given container, else a `me.Container` object will be created for each corresponding groups
|
|
365
305
|
* @param {boolean} [setViewportBounds=false] - if true, set the viewport bounds to the map size, this should be set to true especially if adding a level to the game world container.
|
|
@@ -434,8 +374,6 @@ function readObjectGroup(map, data, z) {
|
|
|
434
374
|
|
|
435
375
|
/**
|
|
436
376
|
* return an Array of instantiated objects, based on the map object definition
|
|
437
|
-
* @name TMXTileMap#getObjects
|
|
438
|
-
* @public
|
|
439
377
|
* @param {boolean} [flatten=true] - if true, flatten all objects into the returned array.
|
|
440
378
|
* when false, a `me.Container` object will be created for each corresponding groups
|
|
441
379
|
* @returns {Renderable[]} Array of Objects
|
|
@@ -606,8 +544,6 @@ function readObjectGroup(map, data, z) {
|
|
|
606
544
|
|
|
607
545
|
/**
|
|
608
546
|
* return all the existing layers
|
|
609
|
-
* @name TMXTileMap#getLayers
|
|
610
|
-
* @public
|
|
611
547
|
* @returns {TMXLayer[]} Array of Layers
|
|
612
548
|
*/
|
|
613
549
|
getLayers() {
|
|
@@ -618,8 +554,6 @@ function readObjectGroup(map, data, z) {
|
|
|
618
554
|
|
|
619
555
|
/**
|
|
620
556
|
* destroy function, clean all allocated objects
|
|
621
|
-
* @name TMXTileMap#destroy
|
|
622
|
-
* @public
|
|
623
557
|
*/
|
|
624
558
|
destroy() {
|
|
625
559
|
this.tilesets = undefined;
|
|
@@ -48,25 +48,19 @@ import loader from "./../../loader/loader.js";
|
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
50
|
* Tileset contains animated tiles
|
|
51
|
-
* @public
|
|
52
51
|
* @type {boolean}
|
|
53
|
-
* @name TMXTileset#isAnimated
|
|
54
52
|
*/
|
|
55
53
|
this.isAnimated = false;
|
|
56
54
|
|
|
57
55
|
/**
|
|
58
56
|
* true if the tileset is a "Collection of Image" Tileset
|
|
59
|
-
* @public
|
|
60
57
|
* @type {boolean}
|
|
61
|
-
* @name TMXTileset#isCollection
|
|
62
58
|
*/
|
|
63
59
|
this.isCollection = false;
|
|
64
60
|
|
|
65
61
|
/**
|
|
66
62
|
* the tileset class
|
|
67
|
-
* @public
|
|
68
63
|
* @type {boolean}
|
|
69
|
-
* @name TMXTileset#class
|
|
70
64
|
*/
|
|
71
65
|
this.class = tileset.class;
|
|
72
66
|
|
|
@@ -172,8 +166,6 @@ import loader from "./../../loader/loader.js";
|
|
|
172
166
|
|
|
173
167
|
/**
|
|
174
168
|
* return the tile image from a "Collection of Image" tileset
|
|
175
|
-
* @name TMXTileset#getTileImage
|
|
176
|
-
* @public
|
|
177
169
|
* @param {number} gid
|
|
178
170
|
* @returns {Image} corresponding image or undefined
|
|
179
171
|
*/
|
|
@@ -193,8 +185,6 @@ import loader from "./../../loader/loader.js";
|
|
|
193
185
|
|
|
194
186
|
/**
|
|
195
187
|
* return true if the gid belongs to the tileset
|
|
196
|
-
* @name TMXTileset#contains
|
|
197
|
-
* @public
|
|
198
188
|
* @param {number} gid
|
|
199
189
|
* @returns {boolean}
|
|
200
190
|
*/
|
|
@@ -204,8 +194,6 @@ import loader from "./../../loader/loader.js";
|
|
|
204
194
|
|
|
205
195
|
/**
|
|
206
196
|
* Get the view (local) tile ID from a GID, with animations applied
|
|
207
|
-
* @name TMXTileset#getViewTileId
|
|
208
|
-
* @public
|
|
209
197
|
* @param {number} gid - Global tile ID
|
|
210
198
|
* @returns {number} View tile ID
|
|
211
199
|
*/
|
|
@@ -222,8 +210,6 @@ import loader from "./../../loader/loader.js";
|
|
|
222
210
|
|
|
223
211
|
/**
|
|
224
212
|
* return the properties of the specified tile
|
|
225
|
-
* @name TMXTileset#getTileProperties
|
|
226
|
-
* @public
|
|
227
213
|
* @param {number} tileId
|
|
228
214
|
* @returns {object}
|
|
229
215
|
*/
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
// bitmask constants to check for flipped & rotated tiles
|
|
3
|
-
const TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
|
|
1
|
+
import { TMX_CLEAR_BIT_MASK } from "./constants";
|
|
4
2
|
|
|
5
3
|
/**
|
|
6
4
|
* @classdesc
|
|
@@ -15,8 +13,6 @@ const TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
|
|
|
15
13
|
|
|
16
14
|
/**
|
|
17
15
|
* add a tileset to the tileset group
|
|
18
|
-
* @name TMXTilesetGroup#add
|
|
19
|
-
* @public
|
|
20
16
|
* @param {TMXTileset} tileset
|
|
21
17
|
*/
|
|
22
18
|
add(tileset) {
|
|
@@ -26,8 +22,6 @@ const TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
|
|
|
26
22
|
|
|
27
23
|
/**
|
|
28
24
|
* return the tileset at the specified index
|
|
29
|
-
* @name TMXTilesetGroup#getTilesetByIndex
|
|
30
|
-
* @public
|
|
31
25
|
* @param {number} i
|
|
32
26
|
* @returns {TMXTileset} corresponding tileset
|
|
33
27
|
*/
|
|
@@ -38,8 +32,6 @@ const TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
|
|
|
38
32
|
/**
|
|
39
33
|
* return the tileset corresponding to the specified id <br>
|
|
40
34
|
* will throw an exception if no matching tileset is found
|
|
41
|
-
* @name TMXTilesetGroup#getTilesetByGid
|
|
42
|
-
* @public
|
|
43
35
|
* @param {number} gid
|
|
44
36
|
* @returns {TMXTileset} corresponding tileset
|
|
45
37
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { isBoolean, isNumeric } from "../../utils/string";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* set and interpret a TMX property value
|
|
@@ -25,11 +25,11 @@ function setTMXValue(name, type, value) {
|
|
|
25
25
|
|
|
26
26
|
default :
|
|
27
27
|
// try to parse it anyway
|
|
28
|
-
if (!value ||
|
|
28
|
+
if (!value || isBoolean(value)) {
|
|
29
29
|
// if value not defined or boolean
|
|
30
30
|
value = value ? (value === "true") : true;
|
|
31
31
|
}
|
|
32
|
-
else if (
|
|
32
|
+
else if (isNumeric(value)) {
|
|
33
33
|
// check if numeric
|
|
34
34
|
value = Number(value);
|
|
35
35
|
}
|
|
@@ -188,13 +188,37 @@ export function normalize(obj, item) {
|
|
|
188
188
|
switch (nodeName) {
|
|
189
189
|
case "data":
|
|
190
190
|
var data = parse(item);
|
|
191
|
-
|
|
192
|
-
// workaround to prevent the parsing code from crashing
|
|
193
|
-
data.text = data.text || data.chunk.text;
|
|
194
|
-
// When no encoding is given, the tiles are stored as individual XML tile elements.
|
|
191
|
+
|
|
195
192
|
data.encoding = data.encoding || "xml";
|
|
196
|
-
|
|
197
|
-
|
|
193
|
+
|
|
194
|
+
// decode chunks for infinite maps
|
|
195
|
+
if (typeof data.chunks !== "undefined") {
|
|
196
|
+
obj.chunks = obj.chunks || [];
|
|
197
|
+
// infinite maps containing chunk data
|
|
198
|
+
data.chunks.forEach((chunk) => {
|
|
199
|
+
obj.chunks.push({
|
|
200
|
+
x: +chunk.x,
|
|
201
|
+
y: +chunk.y,
|
|
202
|
+
// chunk width is in tiles
|
|
203
|
+
width: +chunk.width,
|
|
204
|
+
// chunk height is in tiles
|
|
205
|
+
height: +chunk.height,
|
|
206
|
+
data: decode(chunk.text, data.encoding, data.compression)
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
obj.encoding = "none";
|
|
210
|
+
}
|
|
211
|
+
// Bug on if condition: when parsing data, data.text is sometimes defined when chunks are present
|
|
212
|
+
if (typeof data.text !== "undefined" && typeof obj.chunks === "undefined") {
|
|
213
|
+
// Finite maps
|
|
214
|
+
obj.data = decode(data.text, data.encoding, data.compression);
|
|
215
|
+
obj.encoding = "none";
|
|
216
|
+
}
|
|
217
|
+
break;
|
|
218
|
+
|
|
219
|
+
case "chunk":
|
|
220
|
+
obj.chunks = obj.chunks || [];
|
|
221
|
+
obj.chunks.push(parse(item));
|
|
198
222
|
break;
|
|
199
223
|
|
|
200
224
|
case "imagelayer":
|
|
@@ -303,16 +327,15 @@ export function parse(xml) {
|
|
|
303
327
|
|
|
304
328
|
// do children
|
|
305
329
|
if (xml.hasChildNodes()) {
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
switch (item.nodeType) {
|
|
330
|
+
let children = xml.childNodes;
|
|
331
|
+
for (const node of children) {
|
|
332
|
+
switch (node.nodeType) {
|
|
310
333
|
case 1:
|
|
311
|
-
normalize(obj,
|
|
334
|
+
normalize(obj, node);
|
|
312
335
|
break;
|
|
313
336
|
|
|
314
337
|
case 3:
|
|
315
|
-
text +=
|
|
338
|
+
text += node.nodeValue.trim();
|
|
316
339
|
break;
|
|
317
340
|
}
|
|
318
341
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// bitmask constants to check for flipped & rotated tiles
|
|
2
|
+
export const TMX_FLIP_H = 0x80000000;
|
|
3
|
+
export const TMX_FLIP_V = 0x40000000;
|
|
4
|
+
export const TMX_FLIP_AD = 0x20000000;
|
|
5
|
+
export const TMX_CLEAR_BIT_MASK = ~(TMX_FLIP_H | TMX_FLIP_V | TMX_FLIP_AD);
|
|
6
|
+
|
|
7
|
+
// constant to identify the collision object layer
|
|
8
|
+
export const COLLISION_GROUP = "collision";
|
|
@@ -79,10 +79,7 @@ const offsetsStaggerY = [
|
|
|
79
79
|
|
|
80
80
|
/**
|
|
81
81
|
* return the bounding rect for this map renderer
|
|
82
|
-
* @
|
|
83
|
-
* @public
|
|
84
|
-
* @param {TMXLayer} [layer] - calculate the bounding rect for a specific layer (will return a new bounds object)
|
|
85
|
-
* @returns {Bounds}
|
|
82
|
+
* @ignore
|
|
86
83
|
*/
|
|
87
84
|
getBounds(layer) {
|
|
88
85
|
var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
|
|
@@ -418,7 +415,8 @@ const offsetsStaggerY = [
|
|
|
418
415
|
|
|
419
416
|
startPos = this.tileToPixelCoords(
|
|
420
417
|
startTile.x + layer.pos.x,
|
|
421
|
-
startTile.y + layer.pos.y
|
|
418
|
+
startTile.y + layer.pos.y,
|
|
419
|
+
startPos
|
|
422
420
|
);
|
|
423
421
|
|
|
424
422
|
var staggeredRow = this.doStaggerX(startTile.x + layer.pos.x);
|
|
@@ -460,7 +458,8 @@ const offsetsStaggerY = [
|
|
|
460
458
|
|
|
461
459
|
startPos = this.tileToPixelCoords(
|
|
462
460
|
startTile.x + layer.pos.x,
|
|
463
|
-
startTile.y + layer.pos.y
|
|
461
|
+
startTile.y + layer.pos.y,
|
|
462
|
+
startPos
|
|
464
463
|
);
|
|
465
464
|
|
|
466
465
|
// Odd row shifting is applied in the rendering loop, so un-apply it here
|
|
@@ -39,10 +39,7 @@ import TMXLayer from "./../TMXLayer.js";
|
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* return the bounding rect for this map renderer
|
|
42
|
-
* @
|
|
43
|
-
* @public
|
|
44
|
-
* @param {TMXLayer} [layer] - calculate the bounding rect for a specific layer (will return a new bounds object)
|
|
45
|
-
* @returns {Bounds}
|
|
42
|
+
* @ignore
|
|
46
43
|
*/
|
|
47
44
|
getBounds(layer) {
|
|
48
45
|
var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
|
|
@@ -25,8 +25,6 @@ import Bounds from "./../../../physics/bounds.js";
|
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* return true if the renderer can render the specified map or layer
|
|
28
|
-
* @name TMXRenderer#canRender
|
|
29
|
-
* @public
|
|
30
28
|
* @param {TMXTileMap|TMXLayer} component - TMX Map or Layer
|
|
31
29
|
* @returns {boolean}
|
|
32
30
|
*/
|
|
@@ -45,8 +43,6 @@ import Bounds from "./../../../physics/bounds.js";
|
|
|
45
43
|
|
|
46
44
|
/**
|
|
47
45
|
* return the bounding rect for this map renderer
|
|
48
|
-
* @name TMXRenderer#getBounds
|
|
49
|
-
* @public
|
|
50
46
|
* @param {TMXLayer} [layer] - calculate the bounding rect for a specific layer (will return a new bounds object)
|
|
51
47
|
* @returns {Bounds}
|
|
52
48
|
*/
|
|
@@ -62,8 +58,6 @@ import Bounds from "./../../../physics/bounds.js";
|
|
|
62
58
|
|
|
63
59
|
/**
|
|
64
60
|
* return the tile position corresponding to the specified pixel
|
|
65
|
-
* @name TMXRenderer#pixelToTileCoords
|
|
66
|
-
* @public
|
|
67
61
|
* @param {number} x - X coordinate
|
|
68
62
|
* @param {number} y - Y coordinate
|
|
69
63
|
* @param {Vector2d} [v] - an optional vector object where to put the return values
|
|
@@ -75,8 +69,6 @@ import Bounds from "./../../../physics/bounds.js";
|
|
|
75
69
|
|
|
76
70
|
/**
|
|
77
71
|
* return the pixel position corresponding of the specified tile
|
|
78
|
-
* @name TMXRenderer#tileToPixelCoords
|
|
79
|
-
* @public
|
|
80
72
|
* @param {number} col - tile horizontal position
|
|
81
73
|
* @param {number} row - tile vertical position
|
|
82
74
|
* @param {Vector2d} [v] - an optional vector object where to put the return values
|
|
@@ -88,8 +80,6 @@ import Bounds from "./../../../physics/bounds.js";
|
|
|
88
80
|
|
|
89
81
|
/**
|
|
90
82
|
* draw the given tile at the specified layer
|
|
91
|
-
* @name TMXRenderer#drawTile
|
|
92
|
-
* @public
|
|
93
83
|
* @param {CanvasRenderer|WebGLRenderer} renderer - a renderer object
|
|
94
84
|
* @param {number} x - X coordinate where to draw the tile
|
|
95
85
|
* @param {number} y - Y coordinate where to draw the tile
|
|
@@ -100,8 +90,6 @@ import Bounds from "./../../../physics/bounds.js";
|
|
|
100
90
|
|
|
101
91
|
/**
|
|
102
92
|
* draw the given TMX Layer for the given area
|
|
103
|
-
* @name TMXRenderer#drawTileLayer
|
|
104
|
-
* @public
|
|
105
93
|
* @param {CanvasRenderer|WebGLRenderer} renderer - a renderer object
|
|
106
94
|
* @param {TMXLayer} layer - a TMX Layer object
|
|
107
95
|
* @param {Rect} rect - the area of the layer to draw
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import TMXOrthogonalRenderer from "./TMXOrthogonalRenderer.js";
|
|
2
|
+
import TMXIsometricRenderer from "./TMXIsometricRenderer.js";
|
|
3
|
+
import TMXHexagonalRenderer from "./TMXHexagonalRenderer.js";
|
|
4
|
+
import TMXStaggeredRenderer from "./TMXStaggeredRenderer.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* return a compatible renderer object for the given map
|
|
8
|
+
* @param {TMXTileMap} map
|
|
9
|
+
* @ignore
|
|
10
|
+
*/
|
|
11
|
+
export function getNewTMXRenderer(map) {
|
|
12
|
+
switch (map.orientation) {
|
|
13
|
+
case "orthogonal":
|
|
14
|
+
return new TMXOrthogonalRenderer(map);
|
|
15
|
+
|
|
16
|
+
case "isometric":
|
|
17
|
+
return new TMXIsometricRenderer(map);
|
|
18
|
+
|
|
19
|
+
case "hexagonal":
|
|
20
|
+
return new TMXHexagonalRenderer(map);
|
|
21
|
+
|
|
22
|
+
case "staggered":
|
|
23
|
+
return new TMXStaggeredRenderer(map);
|
|
24
|
+
|
|
25
|
+
// if none found, throw an exception
|
|
26
|
+
default:
|
|
27
|
+
throw new Error(map.orientation + " type TMX Tile Map not supported!");
|
|
28
|
+
}
|
|
29
|
+
}
|
package/src/loader/loader.js
CHANGED
|
@@ -199,11 +199,13 @@ function preloadTMX(tmxData, onload, onerror) {
|
|
|
199
199
|
break;
|
|
200
200
|
|
|
201
201
|
case "json":
|
|
202
|
+
case "tmj":
|
|
203
|
+
case "tsj":
|
|
202
204
|
result = JSON.parse(xmlhttp.responseText);
|
|
203
205
|
break;
|
|
204
206
|
|
|
205
207
|
default:
|
|
206
|
-
throw new Error("TMX file format " + format + "not supported !");
|
|
208
|
+
throw new Error("TMX file format " + format + " not supported !");
|
|
207
209
|
}
|
|
208
210
|
|
|
209
211
|
//set the TMX content
|
package/src/physics/collision.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { game } from "../index.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Collision detection (and projection-based collision response) of 2D shapes.<br>
|
|
@@ -117,7 +117,7 @@ var collision = {
|
|
|
117
117
|
* // ...
|
|
118
118
|
* }
|
|
119
119
|
*/
|
|
120
|
-
rayCast(line, result) { return rayCast(line, result); }
|
|
120
|
+
rayCast(line, result) { return game.world.detector.rayCast(line, result); }
|
|
121
121
|
};
|
|
122
122
|
|
|
123
123
|
export default collision;
|