From 31018b929588de68f42d4e4032ae2e62f49b2521 Mon Sep 17 00:00:00 2001 From: photonstorm Date: Wed, 16 Oct 2013 03:36:53 +0100 Subject: [PATCH] Star Struck game back and working again, plus finished the level design. --- Docs/Screen Shots/phaser-cybernoid.png | Bin 0 -> 68556 bytes build/phaser.js | 92 +++++++------------ examples/assets/games/starstruck/level1.json | 2 +- examples/assets/games/starstruck/level1.tmx | 60 ++++++------ examples/games/starstruck.php | 83 ++++++++++------- src/physics/arcade/ArcadePhysics.js | 37 +------- src/tilemap/Tilemap.js | 2 - src/tilemap/TilemapLayer.js | 8 +- 8 files changed, 120 insertions(+), 164 deletions(-) create mode 100644 Docs/Screen Shots/phaser-cybernoid.png diff --git a/Docs/Screen Shots/phaser-cybernoid.png b/Docs/Screen Shots/phaser-cybernoid.png new file mode 100644 index 0000000000000000000000000000000000000000..0730dad0cbbd2263b1738248cada6f84cee9653b GIT binary patch literal 68556 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 usWjmOBo@CI<9n5&KWy=! literal 0 HcmV?d00001 diff --git a/build/phaser.js b/build/phaser.js index 5a690b17..260b2ec4 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -9,7 +9,7 @@ * * Phaser - http://www.phaser.io * -* v1.0.7 - Built at: Tue, 15 Oct 2013 21:10:11 +0100 +* v1.0.7 - Built at: Wed, 16 Oct 2013 03:37:04 +0100 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -18722,8 +18722,7 @@ Phaser.Device.prototype = { this.file = !!window['File'] && !!window['FileReader'] && !!window['FileList'] && !!window['Blob']; this.fileSystem = !!window['requestFileSystem']; - this.webGL = ( function () { try { return !! window.WebGLRenderingContext && !! document.createElement( 'canvas' ).getContext( 'experimental-webgl' ); } catch( e ) { return false; } } )(); - // this.webGL = !!window['WebGLRenderingContext']; + this.webGL = ( function () { try { var canvas = document.createElement( 'canvas' ); return !! window.WebGLRenderingContext && ( canvas.getContext( 'webgl' ) || canvas.getContext( 'experimental-webgl' ) ); } catch( e ) { return false; } } )(); this.worker = !!window['Worker']; if ('ontouchstart' in document.documentElement || window.navigator.msPointerEnabled) { @@ -22300,7 +22299,7 @@ Phaser.Rectangle.union = function (a, b, out) { if (typeof out === "undefined") { out = new Phaser.Rectangle(); } - return out.setTo(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.max(a.right, b.right), Math.max(a.bottom, b.bottom)); + return out.setTo(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.max(a.right, b.right) - Math.min(a.left, b.left), Math.max(a.bottom, b.bottom) - Math.min(a.top, b.top)); }; @@ -24201,7 +24200,7 @@ Phaser.AnimationManager.prototype = { // If they didn't set the useNumericIndex then let's at least try and guess it if (typeof useNumericIndex === 'undefined') { - if (frames && frames[0] && typeof frames[0] === 'number') + if (frames && typeof frames[0] === 'number') { useNumericIndex = true; } @@ -25148,7 +25147,7 @@ Phaser.FrameData.prototype = { */ getFrame: function (index) { - if (this._frames[index]) + if (this._frames.length > index) { return this._frames[index]; } @@ -29547,8 +29546,7 @@ Phaser.Utils.Debug.prototype = { this.start(0, 0, color); this.context.fillStyle = color; - // this.context.fillRect(sprite.body.x - sprite.body.deltaX(), sprite.body.y - sprite.body.deltaY(), sprite.body.width, sprite.body.height); - this.context.fillRect(sprite.body.x, sprite.body.y, sprite.body.width, sprite.body.height); + this.context.fillRect(sprite.body.screenX, sprite.body.screenY, sprite.body.width, sprite.body.height); this.stop(); @@ -30756,28 +30754,7 @@ Phaser.Physics.Arcade.prototype = { */ separateTile: function (body, tile) { - var separatedX = this.separateTileX(body, tile, true); - var separatedY = this.separateTileY(body, tile, true); - - /* - if (separatedX) - { - console.log('x overlap', this._overlap); - } - - - if (separatedY) - { - console.log('y overlap', this._overlap); - } - - if (separatedX || separatedY) - { - return true; - } - */ - - if (separatedX || separatedY) + if (this.separateTileX(body, tile, true) || this.separateTileY(body, tile, true)) { return true; } @@ -30805,17 +30782,11 @@ Phaser.Physics.Arcade.prototype = { // The hulls overlap, let's process it this._maxOverlap = body.deltaAbsX() + this.OVERLAP_BIAS; - console.log('sx hulls over'); - console.log('x', body.hullX.x, 'y', body.hullX.y, 'bottom', body.hullX.y, 'right', body.hullX.right); - console.log(tile); - if (body.deltaX() < 0) { // Moving left this._overlap = tile.right - body.hullX.x; - console.log('sx left', this._overlap); - if ((this._overlap > this._maxOverlap) || body.allowCollision.left == false || tile.tile.collideRight == false) { this._overlap = 0; @@ -30830,8 +30801,6 @@ Phaser.Physics.Arcade.prototype = { // Moving right this._overlap = body.hullX.right - tile.x; - console.log('sx right', this._overlap); - if ((this._overlap > this._maxOverlap) || body.allowCollision.right == false || tile.tile.collideLeft == false) { this._overlap = 0; @@ -30849,15 +30818,11 @@ Phaser.Physics.Arcade.prototype = { { if (body.deltaX() < 0) { - console.log('sx sep left 1', body.x); body.x = body.x + this._overlap; - console.log('sx sep left 2', body.x); } else { - console.log('sx sep right 1', body.x); body.x = body.x - this._overlap; - console.log('sx sep right 2', body.x); } if (body.bounce.x == 0) @@ -30872,12 +30837,10 @@ Phaser.Physics.Arcade.prototype = { body.updateHulls(); } - console.log('%c ', 'background: #7f7f7f') return true; } else { - console.log('%c ', 'background: #7f7f7f') return false; } @@ -31344,6 +31307,8 @@ Phaser.Physics.Arcade.Body = function (sprite) { this.preX = sprite.x; this.preY = sprite.y; this.preRotation = sprite.angle; + this.screenX = sprite.x; + this.screenY = sprite.y; // un-scaled original size this.sourceWidth = sprite.currentFrame.sourceSizeW; @@ -31442,8 +31407,10 @@ Phaser.Physics.Arcade.Body.prototype = { this.embedded = false; - this.preX = (this.sprite.worldTransform[2] - (this.sprite.anchor.x * this.width)) + this.offset.x; - this.preY = (this.sprite.worldTransform[5] - (this.sprite.anchor.y * this.height)) + this.offset.y; + this.screenX = (this.sprite.worldTransform[2] - (this.sprite.anchor.x * this.width)) + this.offset.x; + this.screenY = (this.sprite.worldTransform[5] - (this.sprite.anchor.y * this.height)) + this.offset.y; + this.preX = (this.sprite.localTransform[2] - (this.sprite.anchor.x * this.width)) + this.offset.x; + this.preY = (this.sprite.localTransform[5] - (this.sprite.anchor.y * this.height)) + this.offset.y; this.preRotation = this.sprite.angle; this.x = this.preX; @@ -31567,8 +31534,10 @@ Phaser.Physics.Arcade.Body.prototype = { this.angularVelocity = 0; this.angularAcceleration = 0; - this.preX = (this.sprite.worldTransform[2] - (this.sprite.anchor.x * this.width)) + this.offset.x; - this.preY = (this.sprite.worldTransform[5] - (this.sprite.anchor.y * this.height)) + this.offset.y; + // this.preX = (this.sprite.worldTransform[2] - (this.sprite.anchor.x * this.width)) + this.offset.x; + // this.preY = (this.sprite.worldTransform[5] - (this.sprite.anchor.y * this.height)) + this.offset.y; + this.preX = (this.sprite.localTransform[2] - (this.sprite.anchor.x * this.width)) + this.offset.x; + this.preY = (this.sprite.localTransform[5] - (this.sprite.anchor.y * this.height)) + this.offset.y; this.preRotation = this.sprite.angle; this.x = this.preX; @@ -32651,8 +32620,6 @@ Phaser.Tilemap = function (game, key) { this.layers = []; } - console.log(this.layers); - this.currentLayer = 0; this.debugMap = []; @@ -32860,6 +32827,7 @@ Phaser.TilemapLayer = function (game, x, y, renderWidth, renderHeight, tileset, * @default */ this.sprite = new Phaser.Sprite(this.game, x, y, this.texture, this.frame); + this.sprite.fixedToCamera = true; /** @@ -32990,6 +32958,19 @@ Phaser.TilemapLayer = function (game, x, y, renderWidth, renderHeight, tileset, Phaser.TilemapLayer.prototype = { + update: function () { + + this.x = this.game.camera.x; + this.y = this.game.camera.y; + + }, + + resizeWorld: function () { + + this.game.world.setBounds(0, 0, this.widthInPixels, this.heightInPixels); + + }, + updateTileset: function (tileset) { if (tileset instanceof Phaser.Tileset) @@ -33007,6 +32988,7 @@ Phaser.TilemapLayer.prototype = { this.tileWidth = this.tileset.tileWidth; this.tileHeight = this.tileset.tileHeight; + this.updateMax(); }, @@ -33150,11 +33132,6 @@ Phaser.TilemapLayer.prototype = { this._tx = this._dx; this._ty = this._dy; - // First let's just copy over the whole canvas, offset by the scroll difference - - // Then we only need fill in the missing strip/s (could be top/bottom/left/right I guess) - // ScrollZone code might be useful here. - this.context.clearRect(0, 0, this.canvas.width, this.canvas.height); for (var y = this._startY; y < this._startY + this._maxY; y++) @@ -33167,7 +33144,8 @@ Phaser.TilemapLayer.prototype = { var tile = this.tileset.tiles[this._column[x]-1]; // if (this.tileset.checkTileIndex(tile)) - // { + if (tile) + { this.context.drawImage( this.tileset.image, tile.x, @@ -33179,7 +33157,7 @@ Phaser.TilemapLayer.prototype = { this.tileWidth, this.tileHeight ); - // } + } this._tx += this.tileWidth; diff --git a/examples/assets/games/starstruck/level1.json b/examples/assets/games/starstruck/level1.json index 2c450746..6583c806 100644 --- a/examples/assets/games/starstruck/level1.json +++ b/examples/assets/games/starstruck/level1.json @@ -1,7 +1,7 @@ { "height":64, "layers":[ { - "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 53, 19, 19, 36, 19, 19, 37, 19, 36, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 54, 57, 19, 19, 36, 36, 19, 20, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 19, 19, 37, 38, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 54, 19, 36, 19, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 19, 19, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 19, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 19, 21, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 38, 21, 19, 50, 0, 49, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 53, 19, 19, 22, 67, 3, 66, 5, 2, 6, 66, 67, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 64, 65, 5, 2, 6, 66, 67, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 19, 39, 19, 19, 37, 19, 19, 36, 19, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 19, 37, 19, 19, 36, 19, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, 52, 19, 19, 36, 19, 19, 21, 19, 19, 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 19, 36, 19, 19, 38, 19, 19, 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 19, 41, 0, 0, 0, 0, 0, 25, 53, 54, 53, 53, 55, 53, 54, 55, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 54, 53, 53, 55, 53, 54, 55, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 57, 53, 60, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 6, 5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 54, 55, 57, 58, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 19, 41, 0, 0, 0, 0, 0, 0, 0, 50, 8, 19, 6, 2, 3, 6, 7, 0, 0, 0, 0, 0, 0, 13, 14, 0, 0, 0, 0, 0, 0, 13, 14, 0, 0, 0, 0, 1, 34, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 57, 53, 60, 0, 0, 0, 0, 0, 0, 1, 67, 19, 19, 36, 19, 22, 23, 24, 0, 0, 0, 0, 0, 1, 30, 31, 9, 0, 0, 0, 0, 1, 30, 31, 9, 0, 0, 0, 59, 55, 57, 60, 0, 0, 0, 0, 0, 0, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 19, 19, 19, 19, 39, 40, 41, 0, 0, 0, 0, 0, 25, 19, 19, 26, 0, 0, 0, 0, 25, 19, 19, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 65, 9, 0, 0, 0, 0, 0, 46, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 19, 19, 19, 20, 54, 55, 57, 60, 0, 0, 0, 0, 0, 59, 57, 53, 60, 0, 0, 0, 0, 59, 57, 53, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 56, 60, 0, 0, 0, 0, 1, 5, 19, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 57, 54, 53, 19, 19, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 19, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 19, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 58, 0, 0, 0, 0, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 43, 0, 0, 0, 0, 0, 0, 47, 48, 0, 0, 0, 0, 0, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 31, 31, 31, 9, 17, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 9, 0, 0, 0, 1, 4, 64, 65, 2, 3, 4, 5, 2, 64, 65, 3, 6, 7, 0, 1, 2, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 19, 36, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 25, 19, 26, 0, 0, 0, 18, 19, 19, 19, 19, 19, 37, 19, 19, 36, 19, 22, 23, 24, 0, 18, 19, 19, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 19, 43, 0, 0, 0, 25, 19, 19, 19, 19, 36, 19, 19, 19, 19, 19, 39, 40, 41, 0, 18, 19, 19, 19, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 19, 41, 0, 0, 0, 42, 19, 19, 19, 53, 54, 53, 53, 55, 53, 54, 55, 57, 60, 0, 59, 56, 56, 56, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 43, 0, 0, 0, 18, 19, 19, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 19, 19, 19, 26, 0, 0, 0, 35, 19, 19, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 66, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 53, 54, 19, 37, 26, 0, 0, 0, 52, 56, 56, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 2, 30, 30, 31, 2, 6, 7, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20, 21, 22, 23, 19, 19, 19, 19, 19, 19, 19, 6, 3, 30, 4, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 41, 0, 49, 50, 51, 0, 47, 48, 0, 0, 0, 1, 36, 37, 38, 39, 40, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 3, 66, 67, 68, 2, 64, 65, 6, 2, 3, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 57, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 20, 19, 19, 19, 19, 19, 37, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 19, 37, 19, 19, 19, 19, 19, 20, 19, 19, 38, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 19, 19, 19, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 19, 19, 38, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 0, 0, 0, 19, 19, 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19], + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 53, 19, 19, 36, 19, 19, 37, 19, 36, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 54, 57, 19, 19, 36, 36, 19, 20, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 19, 19, 37, 38, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 54, 19, 36, 19, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 19, 19, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 19, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 19, 21, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 38, 21, 19, 50, 0, 49, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 0, 0, 0, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 53, 19, 19, 22, 67, 3, 66, 5, 2, 6, 66, 67, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 64, 65, 5, 2, 6, 66, 67, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 19, 39, 19, 19, 37, 19, 19, 36, 19, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 19, 37, 19, 19, 36, 19, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, 52, 19, 19, 36, 19, 19, 21, 19, 19, 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 19, 36, 19, 19, 38, 19, 19, 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 19, 41, 0, 0, 0, 0, 0, 25, 53, 54, 53, 53, 55, 53, 54, 55, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 54, 53, 53, 55, 53, 54, 55, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 57, 53, 60, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 6, 5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 54, 55, 57, 58, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 19, 41, 0, 0, 0, 0, 0, 0, 0, 50, 8, 19, 6, 2, 3, 6, 7, 0, 0, 0, 0, 0, 0, 13, 14, 0, 0, 0, 0, 0, 0, 13, 14, 0, 0, 0, 0, 1, 34, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 57, 53, 60, 0, 0, 0, 0, 0, 0, 1, 67, 19, 19, 36, 19, 22, 23, 24, 0, 0, 0, 0, 0, 1, 30, 31, 9, 0, 0, 0, 0, 1, 30, 31, 9, 0, 0, 0, 59, 55, 57, 60, 0, 0, 0, 0, 0, 0, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 19, 19, 19, 19, 39, 40, 41, 0, 0, 0, 0, 0, 25, 19, 19, 26, 0, 0, 0, 0, 25, 19, 19, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 65, 9, 0, 0, 0, 0, 0, 46, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 19, 19, 19, 20, 54, 55, 57, 60, 0, 0, 0, 0, 0, 59, 57, 53, 60, 0, 0, 0, 0, 59, 57, 53, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 56, 60, 0, 0, 0, 0, 1, 5, 19, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 57, 54, 53, 19, 19, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 19, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 19, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 58, 0, 0, 0, 0, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 43, 0, 0, 0, 0, 0, 0, 47, 48, 0, 0, 0, 0, 0, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 31, 31, 31, 9, 17, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 9, 0, 0, 0, 1, 4, 64, 65, 2, 3, 4, 5, 2, 64, 65, 3, 6, 7, 0, 1, 2, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 19, 36, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 25, 19, 26, 0, 0, 0, 18, 19, 19, 19, 19, 19, 37, 19, 19, 36, 19, 22, 23, 24, 0, 18, 19, 19, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 19, 43, 0, 0, 0, 25, 19, 19, 19, 19, 36, 19, 19, 19, 19, 19, 39, 40, 41, 0, 18, 19, 19, 19, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 19, 41, 0, 0, 0, 42, 19, 19, 19, 53, 54, 53, 53, 55, 53, 54, 55, 57, 60, 0, 59, 56, 56, 56, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 43, 0, 0, 0, 18, 19, 19, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 19, 19, 19, 26, 0, 0, 0, 35, 19, 19, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 66, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 53, 54, 19, 37, 26, 0, 0, 0, 52, 56, 56, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 19, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 2, 30, 30, 31, 2, 6, 7, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 57, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 25, 19, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20, 21, 22, 23, 19, 19, 19, 19, 19, 19, 19, 6, 3, 30, 4, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 41, 0, 49, 50, 51, 0, 47, 48, 0, 0, 0, 1, 36, 37, 38, 39, 40, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 19, 19, 3, 66, 67, 68, 2, 64, 65, 6, 2, 3, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 57, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 19, 20, 19, 19, 19, 19, 19, 37, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 1, 9, 0, 0, 0, 0, 18, 37, 19, 19, 19, 19, 19, 20, 19, 19, 38, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 4, 4, 30, 9, 0, 0, 0, 0, 0, 0, 0, 52, 58, 0, 0, 0, 0, 0, 1, 2, 19, 41, 0, 0, 0, 0, 35, 19, 19, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 19, 19, 19, 19, 9, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 56, 58, 0, 0, 0, 0, 18, 19, 38, 19, 19, 19, 19, 56, 56, 56, 19, 19, 19, 19, 56, 56, 56, 54, 56, 56, 53, 56, 56, 54, 56, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 19, 19, 19, 19, 19, 19, 19, 9, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 19, 19, 19, 56, 56, 60, 0, 0, 0, 18, 19, 57, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 56, 60, 0, 0, 0, 0, 0, 0, 35, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 19, 19, 19, 19, 19, 56, 56, 56, 56, 56, 19, 3, 4, 4, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 43, 0, 0, 0, 0, 0, 0, 0, 0, 52, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 4, 4, 19, 19, 19, 19, 19, 19, 60, 0, 0, 0, 0, 0, 35, 19, 37, 38, 19, 19, 19, 41, 0, 0, 0, 0, 0, 1, 9, 0, 0, 0, 0, 0, 35, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 1, 4, 4, 4, 19, 22, 23, 19, 19, 19, 19, 56, 56, 60, 0, 0, 0, 0, 0, 0, 52, 55, 54, 53, 54, 57, 54, 58, 0, 0, 0, 0, 1, 19, 19, 9, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 30, 4, 4, 4, 19, 19, 19, 19, 19, 39, 40, 19, 19, 19, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 58, 0, 0, 0, 0, 1, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 19, 19, 19, 19, 19, 56, 56, 53, 56, 56, 56, 56, 53, 56, 56, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 56, 56, 56, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 42, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 9, 0, 0, 0, 0, 0, 0, 1, 19, 19, 19, 9, 0, 0, 0, 0, 0, 0, 0, 1, 34, 19, 19, 19, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 19, 19, 24, 0, 0, 0, 0, 0, 1, 19, 19, 19, 19, 58, 0, 0, 0, 0, 0, 0, 1, 19, 19, 19, 19, 19, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 4, 4, 5, 5, 6, 5, 2, 4, 5, 6, 4, 2, 6, 4, 7, 0, 0, 0, 0, 0, 0, 1, 5, 19, 19, 19, 41, 0, 0, 0, 0, 0, 52, 56, 56, 56, 58, 0, 0, 0, 0, 0, 0, 1, 19, 19, 19, 19, 21, 36, 19, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 57, 53, 53, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 24, 0, 0, 0, 0, 0, 0, 52, 19, 19, 19, 19, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 19, 19, 19, 36, 38, 19, 19, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 57, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 5, 9, 0, 0, 0, 0, 0, 35, 19, 19, 19, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 19, 19, 19, 19, 19, 19, 41, 0, 0, 0, 0, 0, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 19, 19, 19, 19, 19, 54, 53, 53, 54, 55, 55, 58, 0, 0, 0, 0, 0, 52, 56, 56, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 19, 21, 19, 19, 20, 37, 19, 19, 26, 0, 0, 0, 0, 0, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 54, 53, 53, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 19, 20, 19, 19, 38, 19, 19, 19, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 0, 0, 35, 19, 19, 20, 36, 19, 19, 20, 19, 19, 19, 5, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 6, 7, 0, 0, 0, 1, 64, 7, 0, 1, 19, 19, 37, 22, 23, 37, 19, 19, 22, 19, 19, 19, 41, 0, 0, 0, 47, 48, 0, 47, 48, 0, 47, 48, 0, 1, 5, 19, 43, 0, 13, 14, 14, 13, 14, 14, 0, 0, 0, 0, 1, 5, 34, 9, 0, 0, 49, 49, 50, 0, 0, 1, 19, 19, 19, 19, 9, 0, 1, 19, 19, 19, 6, 19, 19, 38, 19, 39, 40, 19, 19, 19, 39, 19, 19, 19, 19, 5, 5, 5, 64, 65, 5, 64, 65, 5, 64, 65, 5, 19, 19, 19, 19, 2, 30, 31, 31, 30, 31, 31, 5, 2, 3, 2, 21, 22, 23, 19, 5, 5, 66, 66, 67, 5, 5, 19, 19, 19, 19, 19, 19, 6, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19], "height":64, "name":"Tile Layer 1", "opacity":1, diff --git a/examples/assets/games/starstruck/level1.tmx b/examples/assets/games/starstruck/level1.tmx index 17847c7c..d67543a2 100644 --- a/examples/assets/games/starstruck/level1.tmx +++ b/examples/assets/games/starstruck/level1.tmx @@ -39,36 +39,36 @@ 19,41,0,0,0,42,19,19,19,53,54,53,53,55,53,54,55,57,60,0,59,56,56,56,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,19, 19,43,0,0,0,18,19,19,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,59,57,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,19,19, 19,26,0,0,0,35,19,19,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,66,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,0,0,0,0,0,0,0,0,0,0,0,0,59,53,54,19, -37,26,0,0,0,52,56,56,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,57,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19, -19,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,19,19,0,0,0,0,0,0,0,0,0,19, -19,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,9,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,0,0,0,0,0,0,0,0,0,19, -19,26,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,2,30,30,31,2,6,7,0,0,13,0,0,0,0,0,0,0,0,59,57,60,0,0,0,0,0,0,0,0,0,0,0,0,59,19,19,19,0,0,0,0,0,0,0,0,19, -19,43,0,0,0,0,0,0,0,0,0,0,0,1,20,21,22,23,19,19,19,19,19,19,19,6,3,30,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19, -19,41,0,49,50,51,0,47,48,0,0,0,1,36,37,38,39,40,19,19,19,19,19,19,19,19,19,19,19,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19, -19,19,3,66,67,68,2,64,65,6,2,3,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,57,57,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19, -19,19,20,19,19,19,19,19,37,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,0,0,0,0,0,0,0,19,19,0,0,0,0,19, -37,19,19,19,19,19,20,19,19,38,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,57,60,0,0,0,0,0,0,0,0,19,19,19,19,19,19,0,0,0,0,0,0,0,19,19,0,0,0,0,0,19,19,19,19,0,0,0,0,19, -19,19,20,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,41,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,0,0,0,0,19, -19,38,19,19,19,19,19,19,19,19,19,19,19,19,57,57,57,57,57,57,57,57,57,57,60,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19, -19,19,19,19,19,19,0,0,0,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19, -19,19,19,0,0,0,0,0,0,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,19, -19,0,0,0,0,0,0,0,0,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,19,19,19,19,19,19,19,19,0,0,0,0,0,19,19,0,0,0,0,0,19, -19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,0,19,19,19,19,19,19,19,19,0,0,0,0,19,19,19,19,0,0,0,0,19, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,0,0,0,0,19,19, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,0,0,0,0,0,0,0,0,0,0,19,19,19, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,0,0,0,0,0,0,19,19,19,19,19,0,0,0,0,0,0,0,19,19,19,19,19, -19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,0,0,0,0,0,19,19,19,19,19,19,0,0,0,0,0,0,19,19,19,19,19,19, -19,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,0,19,19,19,19,19,19,0,0,0,0,0,19,19,19,19,19,0,0,0,0,0,0,19,19,19,19,19,19,19, -19,19,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,0,19,19,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19, -19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,19,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19, -19,19,0,0,0,0,0,19,19,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19, -19,19,0,0,0,0,0,19,19,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19, -19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19, -19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,0,0,0,19,19,19,0,19,19,19,19,19,19,19,19,19,19, -19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,0,0,0,0,0,0,0,19,19,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, -19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19 +37,26,0,0,0,52,56,56,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,57,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18, +19,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,9,0,0,0,0,0,0,0,0,0,18, +19,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,9,0,0,0,0,0,0,0,0,0,0,0,0,18,19,24,0,0,0,0,0,0,0,0,0,35, +19,26,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,2,30,30,31,2,6,7,0,0,13,0,0,0,0,0,0,0,0,59,57,60,0,0,0,0,0,0,0,0,0,0,0,0,59,57,57,58,0,0,0,0,0,0,0,0,25, +19,43,0,0,0,0,0,0,0,0,0,0,0,1,20,21,22,23,19,19,19,19,19,19,19,6,3,30,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18, +19,41,0,49,50,51,0,47,48,0,0,0,1,36,37,38,39,40,19,19,19,19,19,19,19,19,19,19,19,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35, +19,19,3,66,67,68,2,64,65,6,2,3,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,57,57,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18, +19,19,20,19,19,19,19,19,37,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,41,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,1,7,0,0,0,0,0,0,0,1,9,0,0,0,0,18, +37,19,19,19,19,19,20,19,19,38,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,57,60,0,0,0,0,0,0,0,0,1,4,4,4,30,9,0,0,0,0,0,0,0,52,58,0,0,0,0,0,1,2,19,41,0,0,0,0,35, +19,19,20,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,41,0,0,0,0,0,0,0,0,0,0,18,19,19,19,19,19,9,13,0,0,0,0,0,0,0,0,0,0,0,0,52,53,56,58,0,0,0,0,18, +19,38,19,19,19,19,56,56,56,19,19,19,19,56,56,56,54,56,56,53,56,56,54,56,60,0,0,0,0,0,0,0,0,1,5,19,19,19,19,19,19,19,9,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25, +19,19,19,56,56,60,0,0,0,18,19,57,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,19,19,19,19,19,19,19,19,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18, +19,56,60,0,0,0,0,0,0,35,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,19,19,19,19,19,56,56,56,56,56,19,3,4,4,4,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,18, +43,0,0,0,0,0,0,0,0,52,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,4,4,19,19,19,19,19,19,60,0,0,0,0,0,35,19,37,38,19,19,19,41,0,0,0,0,0,1,9,0,0,0,0,0,35, +60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,1,4,4,4,19,22,23,19,19,19,19,56,56,60,0,0,0,0,0,0,52,55,54,53,54,57,54,58,0,0,0,0,1,19,19,9,0,0,0,0,18, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,30,4,4,4,19,19,19,19,19,39,40,19,19,19,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,58,0,0,0,0,1,19, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,19,19,19,19,19,56,56,53,56,56,56,56,53,56,56,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,19, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,56,56,56,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,1,19,19, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,9,0,0,0,0,0,0,0,0,0,17,42,19,19, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,9,0,0,0,0,0,0,1,19,19,19,9,0,0,0,0,0,0,0,1,34,19,19,19, +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,19,19,24,0,0,0,0,0,1,19,19,19,19,58,0,0,0,0,0,0,1,19,19,19,19,19, +41,0,0,0,0,0,0,0,0,0,0,0,1,2,4,4,5,5,6,5,2,4,5,6,4,2,6,4,7,0,0,0,0,0,0,1,5,19,19,19,41,0,0,0,0,0,52,56,56,56,58,0,0,0,0,0,0,1,19,19,19,19,21,36, +19,9,0,0,0,0,0,0,0,0,0,0,52,57,53,53,19,19,19,19,19,19,19,19,19,19,19,19,24,0,0,0,0,0,0,52,19,19,19,19,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,19,19,19,36,38,19, +19,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,57,19,19,19,19,19,19,19,19,19,19,19,5,9,0,0,0,0,0,35,19,19,19,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,19,19,19,19,19,19,19, +19,41,0,0,0,0,0,1,9,0,0,0,0,0,0,0,0,0,35,19,19,19,19,19,54,53,53,54,55,55,58,0,0,0,0,0,52,56,56,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,19,21,19,19,20,37,19, +19,26,0,0,0,0,0,52,58,0,0,0,0,0,0,0,0,0,18,19,54,53,53,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,19,19,20,19,19,38,19,19, +19,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,48,0,0,35,19,19,20,36,19,19,20,19, +19,19,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,43,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,1,5,6,7,0,0,0,1,64,7,0,1,19,19,37,22,23,37,19,19,22, +19,19,19,41,0,0,0,47,48,0,47,48,0,47,48,0,1,5,19,43,0,13,14,14,13,14,14,0,0,0,0,1,5,34,9,0,0,49,49,50,0,0,1,19,19,19,19,9,0,1,19,19,19,6,19,19,38,19,39,40,19,19,19,39, +19,19,19,19,5,5,5,64,65,5,64,65,5,64,65,5,19,19,19,19,2,30,31,31,30,31,31,5,2,3,2,21,22,23,19,5,5,66,66,67,5,5,19,19,19,19,19,19,6,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19 diff --git a/examples/games/starstruck.php b/examples/games/starstruck.php index 5726ceec..6d5b85f4 100644 --- a/examples/games/starstruck.php +++ b/examples/games/starstruck.php @@ -5,13 +5,12 @@ this._maxOverlap) || body.allowCollision.left == false || tile.tile.collideRight == false) { this._overlap = 0; @@ -709,8 +682,6 @@ Phaser.Physics.Arcade.prototype = { // Moving right this._overlap = body.hullX.right - tile.x; - console.log('sx right', this._overlap); - if ((this._overlap > this._maxOverlap) || body.allowCollision.right == false || tile.tile.collideLeft == false) { this._overlap = 0; @@ -728,15 +699,11 @@ Phaser.Physics.Arcade.prototype = { { if (body.deltaX() < 0) { - console.log('sx sep left 1', body.x); body.x = body.x + this._overlap; - console.log('sx sep left 2', body.x); } else { - console.log('sx sep right 1', body.x); body.x = body.x - this._overlap; - console.log('sx sep right 2', body.x); } if (body.bounce.x == 0) @@ -751,12 +718,10 @@ Phaser.Physics.Arcade.prototype = { body.updateHulls(); } - console.log('%c ', 'background: #7f7f7f') return true; } else { - console.log('%c ', 'background: #7f7f7f') return false; } diff --git a/src/tilemap/Tilemap.js b/src/tilemap/Tilemap.js index 27ef38fc..9666a8ec 100644 --- a/src/tilemap/Tilemap.js +++ b/src/tilemap/Tilemap.js @@ -21,8 +21,6 @@ Phaser.Tilemap = function (game, key) { this.layers = []; } - console.log(this.layers); - this.currentLayer = 0; this.debugMap = []; diff --git a/src/tilemap/TilemapLayer.js b/src/tilemap/TilemapLayer.js index 908de2ce..ce861de4 100644 --- a/src/tilemap/TilemapLayer.js +++ b/src/tilemap/TilemapLayer.js @@ -179,8 +179,6 @@ Phaser.TilemapLayer.prototype = { this.game.world.setBounds(0, 0, this.widthInPixels, this.heightInPixels); - console.log('world', this.game.world.bounds); - }, updateTileset: function (tileset) { @@ -200,6 +198,7 @@ Phaser.TilemapLayer.prototype = { this.tileWidth = this.tileset.tileWidth; this.tileHeight = this.tileset.tileHeight; + this.updateMax(); }, @@ -355,7 +354,8 @@ Phaser.TilemapLayer.prototype = { var tile = this.tileset.tiles[this._column[x]-1]; // if (this.tileset.checkTileIndex(tile)) - // { + if (tile) + { this.context.drawImage( this.tileset.image, tile.x, @@ -367,7 +367,7 @@ Phaser.TilemapLayer.prototype = { this.tileWidth, this.tileHeight ); - // } + } this._tx += this.tileWidth;