From a462fa46cc82cd47d3b73dc619739a39e52894d7 Mon Sep 17 00:00:00 2001 From: D8H Date: Thu, 23 Jul 2026 10:34:47 +0200 Subject: [PATCH] Optimize tile map trimming (#8876) It avoids to scan all the tiles when scanning just a few rows and column is often enough (only 2 tiles in the best case scenario). --- Extensions/TileMap/helper/TileMapHelper.js | 2 +- .../TileMap/helper/TileMapHelper.js.map | 2 +- .../helper/dts/model/TileMapModel.d.ts.map | 2 +- .../TileMapHelper/src/model/TileMapModel.ts | 110 ++++++++++++------ 4 files changed, 77 insertions(+), 39 deletions(-) diff --git a/Extensions/TileMap/helper/TileMapHelper.js b/Extensions/TileMap/helper/TileMapHelper.js index 5590e47e70..dbbe887590 100644 --- a/Extensions/TileMap/helper/TileMapHelper.js +++ b/Extensions/TileMap/helper/TileMapHelper.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TileMapHelper={})}(this,function(e){"use strict";const t=2147483648,i=1073741824,s=536870912;var l;function n(e){const t=l.isFlippedDiagonally(e),i=l.isFlippedHorizontally(e),s=l.isFlippedVertically(e);let n=0;return t?(n=10,!i&&s?n=2:i&&!s?n=6:i&&s&&(n=14)):(n=0,!i&&s?n=8:i&&!s?n=12:i&&s&&(n=4)),n}function o(e,l,n,o){let r=e;return l&&(r|=t),n&&(r|=i),o&&(r|=s),r}!function(e){e.tileIdMask=536870911,e.getTileId=function(t){return t&e.tileIdMask},e.setFlippedHorizontally=function(e,i){return e&=2147483647,i&&(e|=t),e},e.setFlippedVertically=function(e,t){return e&=-1073741825,t&&(e|=i),e},e.setFlippedDiagonally=function(e,t){return e&=-536870913,t&&(e|=s),e},e.isFlippedHorizontally=function(e){return 0!==(e&t)},e.isFlippedVertically=function(e){return 0!==(e&i)},e.isFlippedDiagonally=function(e){return 0!==(e&s)}}(l||(l={}));class r{constructor(e,t,i,s,l){this._backgroundResourceName=null,this.tileSetColumnCount=0,this.tileSetRowCount=0,this.tileWidth=e,this.tileHeight=t,this.dimX=i,this.dimY=s,this._tileSet=l,this._layers=[]}clone(){const e=new r(this.tileWidth,this.tileHeight,this.dimX,this.dimY,this._tileSet);for(const t of this._layers)e._layers.push(t.clone(e,t.id));return e}static from(e,{tileSize:t,tileSetColumnCount:i,tileSetRowCount:s}){const l=new Map;if(!Number.isInteger(i)||i<=0||!Number.isInteger(s)||s<=0)throw new Error(`Tilemap object badly configured. Tile size ${t} is not compatible with atlas image dimensions, resulting in having ${i} columns and ${s} rows.`);new Array(i*s).fill(0).forEach((e,t)=>{l.set(t,new u(0))});const n=new r(t||e.tileWidth,t||e.tileHeight,e.dimX||1,e.dimY||1,l);return e.layers?e.layers.forEach(e=>{n.addTileLayer(d.from(e,n,e=>ee.toJSObject())}}getWidth(){return this.tileWidth*this.dimX}getHeight(){return this.tileHeight*this.dimY}getTileHeight(){return this.tileHeight}getTileWidth(){return this.tileWidth}getDimensionX(){return this.dimX}getDimensionY(){return this.dimY}setDimensionX(e){if(e===this.dimX)return;const t=e-this.dimX;for(const e of this.getLayers())e instanceof d&&(t>0?e.increaseDimensions(t,0,0,0):e.reduceDimensions(-t,0,0,0));this.dimX=e}increaseDimensions(e,t,i,s){if(!(e<0||t<0||i<0||s<0||0===e&&0===t&&0===i&&0===s)){for(const l of this.getLayers())l instanceof d&&l.increaseDimensions(e,t,i,s);this.dimX=this.dimX+e+t,this.dimY=this.dimY+i+s}}setDimensionY(e){if(e===this.dimY)return;const t=e-this.dimY;for(const e of this.getLayers())e instanceof d&&(t>0?e.increaseDimensions(0,0,t,0):e.reduceDimensions(0,0,-t,0));this.dimY=e}getTileDefinition(e){return this._tileSet.get(e)}getTileDefinitions(){return this._tileSet.values()}getTileSetColumnCount(){return this.tileSetColumnCount}getTileSetRowCount(){return this.tileSetRowCount}setTileSetColumnCount(e){this.tileSetColumnCount=e}setTileSetRowCount(e){this.tileSetRowCount=e}addNewTileLayer(e){const t=new d(this,e);return this._layers.push(t),t}addTileLayer(e){this._layers.push(e)}getTileLayer(e){const t=this._layers.find(t=>t.id===e);return t instanceof d?t:null}addObjectLayer(e){const t=new c(this,e);return this._layers.push(t),t}getBackgroundResourceName(){return this._backgroundResourceName}getLayers(){return this._layers}pointIsInsideTile(e,t,i){const s=Math.floor(e/this.tileWidth),l=Math.floor(t/this.tileHeight);for(const e of this._layers){const t=e;if(!t)continue;const n=t.getTileId(s,l);if(void 0===n)return!1;if(this._tileSet.get(n).hasTaggedHitBox(i))return!0}return!1}setBackgroundResourceName(e){this._backgroundResourceName=e}isEmpty(){return this._layers.every(e=>e.isEmpty())}getTileId(e,t,i){const s=this.getTileLayer(i);if(!s)return-1;const l=s.getTileId(e,t);return void 0===l?-1:l}setTile(e,t,i,s){const l=this.getTileLayer(i);l&&l.setTile(e,t,s)}flipTileOnY(e,t,i,s){const l=this.getTileLayer(i);l&&l.setFlippedVertically(e,t,s)}flipTileOnX(e,t,i,s){const l=this.getTileLayer(i);l&&l.setFlippedHorizontally(e,t,s)}isTileFlippedOnX(e,t,i){const s=this.getTileLayer(i);return!!s&&s.isFlippedHorizontally(e,t)}isTileFlippedOnY(e,t,i){const s=this.getTileLayer(i);return!!s&&s.isFlippedVertically(e,t)}removeTile(e,t,i){if(e<0||e>=this.dimX||t<0||t>=this.dimY)return;const s=this.getTileLayer(i);s&&s.removeTile(e,t)}trimEmptyColumnsAndRowToFitLayer(e){const t=this.getTileLayer(e);if(!t)return;const i=this.dimY,s=this.dimX,l=t.getTrimmingData();for(const e of this.getLayers())e instanceof d&&e.reduceDimensions(l.columnsToPop,l.columnsToShift,l.rowsToPop,l.rowsToShift);return this.dimX=s-l.columnsToPop-l.columnsToShift,this.dimY=i-l.rowsToPop-l.rowsToShift,0===this.dimX&&0===this.dimY&&1===this._layers.length?(t.increaseDimensions(1,0,1,0),this.dimX=1,this.dimY=1,{shiftedRows:0,shiftedColumns:0,poppedRows:i-1,poppedColumns:s-1}):{poppedRows:l.rowsToPop,poppedColumns:l.columnsToPop,shiftedRows:l.rowsToShift,shiftedColumns:l.columnsToShift}}}class a{constructor(e,t){this.visible=!0,this.tileMap=e,this.id=t}setVisible(e){this.visible=e}toJSObject(){return{id:this.id,alpha:0,tiles:[]}}isVisible(){return this.visible}isEmpty(){return!0}}class c extends a{constructor(e,t){super(e,t),this.objects=[]}clone(e,t){const i=new c(e,t);return i.objects.push.apply(this.objects),i}add(e){this.objects.push(e)}isEmpty(){return 0===this.objects.length}}class h{constructor(e,t,i){this.tileId=i,this.x=e,this.y=t}getTileId(){return l.getTileId(this.tileId)}setFlippedHorizontally(e){this.tileId=l.setFlippedHorizontally(this.tileId,e)}setFlippedVertically(e){this.tileId=l.setFlippedVertically(this.tileId,e)}setFlippedDiagonally(e){this.tileId=l.setFlippedDiagonally(this.tileId,e)}isFlippedHorizontally(){return l.isFlippedHorizontally(this.tileId)}isFlippedVertically(){return l.isFlippedVertically(this.tileId)}isFlippedDiagonally(){return l.isFlippedDiagonally(this.tileId)}}class d extends a{constructor(e,t){super(e,t);const i=this.tileMap.getDimensionX(),s=this.tileMap.getDimensionY();this._tiles=[],this._tiles.length=s;for(let e=0;ee.forEach((e,n)=>{const o=l.getTileId(e);i(o)&&s.setTileGID(n,t,e)})),s}toJSObject(){return{id:this.id,alpha:this._alpha,tiles:this._tiles.map((e,t)=>Array.from(e.map((e,i)=>{const s=this.getTileGID(i,t);return void 0===s?-1:s})))}}getAlpha(){return this._alpha}setAlpha(e){this._alpha=e}isEmpty(){return this._tiles.every(e=>e.every(e=>0===e))}reduceDimensions(e,t,i,s){(i>0||s>0)&&(this._tiles=this._tiles.slice(s,i?-i:void 0)),(e>0||t>0)&&this._tiles.forEach((i,s)=>{this._tiles[s]=this._tiles[s].slice(t,e?-e:void 0)})}increaseDimensions(e,t,i,s){const l=this._tiles.length,n=this._tiles[0].length;if((e>0||t>0)&&this._tiles.forEach((i,s)=>{const l=new Int32Array(n+e+t).fill(0);l.set(i,t),this._tiles[s]=l}),i>0||s>0){this._tiles.unshift(...new Array(s).fill(0).map(()=>new Int32Array(n+e+t).fill(0))),this._tiles.length=l+i+s;for(let i=l+s;i=s.length||(s[e]=i+1)}setTileGID(e,t,i){const s=this._tiles[t];!s||e>=s.length||(s[e]=i+1)}getTrimmingData(){let e=0,t=0;const i=this.getDimensionX(),s=this.getDimensionY(),l=new Array(this._tiles.length).fill(this._tiles[0].length),n=new Array(this._tiles.length).fill(this._tiles[0].length);let o=!1;for(let i=0;i=i.length||(i[e]=0)}setFlippedHorizontally(e,t,i){const s=this._tiles[t];if(!s||e>=s.length)return;const n=s[e];0!==n&&(s[e]=l.setFlippedHorizontally(n,i))}setFlippedVertically(e,t,i){const s=this._tiles[t];if(!s||e>=s.length)return;const n=s[e];0!==n&&(s[e]=l.setFlippedVertically(n,i))}setFlippedDiagonally(e,t,i){const s=this._tiles[t];if(!s||e>=s.length)return;const n=s[e];0!==n&&(s[e]=l.setFlippedDiagonally(n,i))}isFlippedHorizontally(e,t){const i=this._tiles[t];return!(!i||e>=i.length)&&l.isFlippedHorizontally(i[e])}isFlippedVertically(e,t){const i=this._tiles[t];return!(!i||e>=i.length)&&l.isFlippedVertically(i[e])}isFlippedDiagonally(e,t){const i=this._tiles[t];return!(!i||e>=i.length)&&l.isFlippedDiagonally(i[e])}getTileGID(e,t){const i=this._tiles[t];if(i&&!(e>=i.length)&&0!==i[e])return i[e]-1}getTileId(e,t){const i=this._tiles[t];if(!i||e>=i.length||0===i[e])return;return l.getTileId(i[e]-1)}getDimensionX(){return 0===this._tiles.length?0:this._tiles[0].length}getDimensionY(){return this._tiles.length}getWidth(){return this.tileMap.getWidth()}getHeight(){return this.tileMap.getHeight()}}class u{constructor(e){this.taggedHitBoxes=[],this.animationLength=null!=e?e:0,this.stackedTiles=[]}addHitBox(e,t,i){let s=this.taggedHitBoxes.find(t=>t.tag===e);s||(s={tag:e,polygons:[],hasFullHitBox:!1},this.taggedHitBoxes.push(s)),s.hasFullHitBox||(s.hasFullHitBox=i),s.polygons.push(t)}hasTaggedHitBox(e){return this.taggedHitBoxes.some(t=>t.tag===e)}getHitBoxes(e){const t=this.taggedHitBoxes.find(t=>t.tag===e);return t&&t.polygons}hasFullHitBox(e){const t=this.taggedHitBoxes.find(t=>t.tag===e);return!!t&&t.hasFullHitBox}getAnimationLength(){return this.animationLength}getStackTileId(){return this.stackTileId}getStackedTiles(){return this.stackedTiles}hasStackedTiles(){return this.stackedTiles.length>0}setStackedTiles(e,...t){this.stackedTiles=t,this.stackTileId=e}}class p{constructor(){this._cachedValues=new Map,this._callbacks=new Map}getOrLoad(e,t,i){{const t=this._cachedValues.get(e);if(t)return void i(t)}{const t=this._callbacks.get(e);if(t)return void t.push(i);this._callbacks.set(e,[i])}t(t=>{t&&this._cachedValues.set(e,t);const i=this._callbacks.get(e);this._callbacks.delete(e);for(const e of i)e(t)})}}class g{constructor(){this._levelBackgroundTextures=new Map,this._textures=new Map}setTexture(e,t){this._textures.set(e,t)}getTexture(e){return this._textures.get(e)}getLevelBackgroundTexture(e){return this._levelBackgroundTextures.get(e)}setLevelBackgroundTexture(e,t){this._levelBackgroundTextures.set(e,t)}}const f=(e,t)=>{const{data:i,compression:s}=t;if(!i)return i;let l=4;const n=[];let o=atob(i).split("").map(function(e){return e.charCodeAt(0)});try{const t=(e,t)=>e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24)>>>0;if("zlib"===s){const i=new Uint8Array(o),s=e.inflate(i);for(;l<=s.length;)n.push(t(s,l-4)),l+=4}else{if("zstd"===s)return console.error("Zstandard compression is not supported for layers in a Tilemap. Use instead zlib compression or no compression."),null;for(;l<=o.length;)n.push(t(o,l-4)),l+=4}return n}catch(e){return console.error("Failed to decompress and unzip base64 layer.data string",e),null}},T=e=>{const l=e&t,n=e&i,o=e&s;return{id:y(536870911&e),flippedHorizontally:!!l,flippedVertically:!!n,flippedDiagonally:!!o}};function y(e){return 0===e?void 0:e-1}var m,_,w,x,I;function b(e,t){let i=e<<16;return i+=t,i}function M(e,t,i,s){var l;if(e[s])return e[s];let n=null;const o=t[s];return(null==o?void 0:o.relPath)?(n=i(o.relPath),"res/invalid_texture.png"===(null===(l=n.baseTexture)||void 0===l?void 0:l.cacheId)&&(console.error(`The atlas texture "${o.relPath}" can't be loaded`),n=null)):console.error(`The tileset "${o.identifier}" doesn't seems to contain an atlas texture`),e[s]=n,n}!function(e){e.parseAtlas=function(e,t,i,s){if(!e.tiledversion)return console.warn("The loaded Tiled map does not contain a 'tiledversion' key. Are you sure this file has been exported from Tiled (mapeditor.org)?"),null;if(!e.tilesets.length||"source"in e.tilesets[0])return console.warn("The loaded Tiled map seems not to contain any tileset data (nothing in 'tilesets' key)."),null;const l=e.tilesets[0],{tilewidth:n,tileheight:o,tilecount:r,image:a,columns:c,spacing:h,margin:d}=l,u=void 0===l.firstgid?1:l.firstgid;i||(i=s(a));const p=r/c,f=n*c+h*(c-1)+2*d,T=o*p+h*(p-1)+2*d;if(i.width-1?t:0];if(!l||!l.layerInstances)return null;const n={};for(const t of e.defs.tilesets)n[t.uid]=t;const o=new g,r={},a={};for(let e=l.layerInstances.length-1;e>=0;--e){const t=l.layerInstances[e];if("Entities"===t.__type)continue;const i=t.__tilesetDefUid;if("number"!=typeof i)continue;const c=n[i],h=M(a,n,s,i);if(!h)continue;const d={},u=c.tileGridSize;for(const e of[...t.autoLayerTiles,...t.gridTiles]){if(d[e.t])continue;const t=b(i,e.t);if(r[t])d[e.t]=!0;else{try{const[i,s]=e.src,l=new PIXI.Rectangle(i,s,u,u),n=new PIXI.Texture(h,l);o.setTexture(t,n)}catch(e){console.error("An error occurred while creating a PIXI.Texture to be used in a TileMap:",e)}d[e.t]=!0,r[t]=!0}}}if(l.bgRelPath){const e=s(l.bgRelPath),t=new PIXI.Rectangle(0,0,l.pxWid,l.pxHei),i=new PIXI.Texture(e,t);o.setLevelBackgroundTexture(l.bgRelPath,i)}return o}}(_||(_={})),e.PixiTileMapHelper=void 0,function(e){function t(e,t,i,s,l){const n=t.tileMap,o=n.getTileWidth(),r=n.getTileHeight();for(let a=0;a0&&o.tileAnimX(s,u.getAnimationLength())}}}},e.updatePixiCollisionMask=function(e,i,s,l,n,o,r,a,c){if(e)if(e.clear(),e.lineStyle(n,o,r),e.drawRect(0,0,i.getWidth(),i.getHeight()),l){t(e,i.getTileLayer(l),s,a,c)}else for(const l of i.getLayers())l instanceof d&&t(e,l,s,a,c)}}(e.PixiTileMapHelper||(e.PixiTileMapHelper={})),function(e){e.load=function(e,t){const i=e.levels[t>-1?t:0];if(!i||!i.layerInstances)return null;const s=new Map;let l=0,n=0,a=0;for(let e=i.layerInstances.length-1;e>=0;--e){const t=i.layerInstances[e],o=t.__tilesetDefUid,r={};for(const e of[...t.autoLayerTiles,...t.gridTiles]){if(r[e.t])continue;const t=b(o,e.t);if(s.has(t)){r[e.t]=!0;continue}const i=new u(0);r[e.t]=!0,s.set(t,i)}"IntGrid"!==t.__type&&"AutoLayer"!==t.__type&&"Tiles"!==t.__type||(0===l?(l=t.__gridSize,n=t.__cWid,a=t.__cHei):t.__gridSize!==l&&console.warn("Grid size is different across layers. Only the first layer grid size will be followed."))}const c=new r(l,l,n,a,s),h=e.defs.tilesets[0];h&&(c.setTileSetColumnCount(h.__cWid),c.setTileSetRowCount(Math.ceil(h.__cHei)));const d=new Map;let p=268435455;for(let e=i.layerInstances.length-1;e>=0;--e){const t=i.layerInstances[e],l=t.__gridSize,n=t.__tilesetDefUid,r=c.addNewTileLayer(e);r.setAlpha(t.__opacity),r.setVisible(t.visible);for(const e of[...t.autoLayerTiles,...t.gridTiles]){const t=Math.floor(e.px[0]/l),i=Math.floor(e.px[1]/l),a=b(n,e.t),c=r.getTileId(t,i);if(void 0===c)r.setTile(t,i,a),r.setFlippedHorizontally(t,i,1===e.f||3===e.f),r.setFlippedVertically(t,i,2===e.f||3===e.f);else{const l=o(a,1===e.f||3===e.f,2===e.f||3===e.f,!1),n=s.get(c);if(null==n?void 0:n.hasStackedTiles()){const e=`${n.getStackedTiles().map(e=>`${e}`).join(";")};${l}`,o=d.get(e);if(o)r.setTile(t,i,o.getStackTileId());else{const o=new u(0);o.setStackedTiles(p,...n.getStackedTiles(),l),s.set(p,o),p-=1,d.set(e,o),r.setTile(t,i,o.getStackTileId())}}else{const e=r.getTileGID(t,i),n=`${e};${l}`,o=new u(0);o.setStackedTiles(p,e,l),s.set(p,o),p-=1,d.set(n,o),r.setTile(t,i,o.getStackTileId())}}}}return i.bgRelPath&&c.setBackgroundResourceName(i.bgRelPath),c}}(w||(w={})),function(e){e.load=function(e,t){if(!e.tiledversion)return console.warn("The loaded Tiled map does not contain a 'tiledversion' key. Are you sure this file has been exported from Tiled (mapeditor.org)?"),null;const i=new Map;for(const t of e.tilesets){const s=void 0===t.firstgid?1:t.firstgid;if(t.tiles)for(const l of t.tiles){const t=new u(l.animation?l.animation.length:0),n=l.type||l.class;if(l.objectgroup&&l.objectgroup.objects)for(const i of l.objectgroup.objects){const s=i.type||i.class||n||"";let l=null,o=!1;if(i.polygon){const e=i.rotation*Math.PI/180;let t=Math.cos(e),s=Math.sin(e);-1!==t&&1!==t||(s=0),-1!==s&&1!==s||(t=0),l=i.polygon.map(e=>[i.x+e.x*t-e.y*s,i.y+e.x*s+e.y*t])}else void 0!==i.x&&void 0!==i.y&&void 0!==i.width&&void 0!==i.height&&(l=[[i.x,i.y],[i.x,i.y+i.height],[i.x+i.width,i.y+i.height],[i.x+i.width,i.y]],o=0===i.x&&0===i.y&&i.width===e.tilewidth&&i.height===e.tileheight);l&&t.addHitBox(s,l,o)}else if(n){const i=[[0,0],[0,e.tileheight],[e.tilewidth,e.tileheight],[e.tilewidth,0]];t.addHitBox(n,i,!0)}i.set(y(s+l.id),t)}for(let e=0;e{e(t,i,e=>{if(!e)return void n(null);const t=I.load(e,s,l);n(t)})},n)}getOrLoadSimpleTileMap(e,t,i,s,l,n){n(r.from(e,{tileSize:i,tileSetColumnCount:s,tileSetRowCount:l}))}getOrLoadTextureCache(t,i,s,l,n,o,r){const a=l+"|"+n+"|"+s+"|"+o;this._textureCacheCaches.getOrLoad(a,r=>{t(l,n,t=>{if(!t)return void r(null);const l=s?i(s):null,n=e.PixiTileMapHelper.parseAtlas(t,o,l,i);r(n)})},r)}getOrLoadSimpleTileMapTextureCache(t,i,s,l,n,o){const r=`${i}|${s}|${l}|${n}`;this._textureCacheCaches.getOrLoad(r,o=>{if(!i)return void o(null);const r=t(i);o(e.PixiTileMapHelper.parseSimpleTileMapAtlas(r,l,n,s))},o)}clearCaches(){this._tileMapCache=new p,this._textureCacheCaches=new p}}e.EditableTileMap=r,e.EditableTileMapLayer=d,e.TileDefinition=u,e.TileMapManager=k,e.TileTextureCache=g,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TileMapHelper={})}(this,function(e){"use strict";const t=2147483648,i=1073741824,s=536870912;var l;function n(e){const t=l.isFlippedDiagonally(e),i=l.isFlippedHorizontally(e),s=l.isFlippedVertically(e);let n=0;return t?(n=10,!i&&s?n=2:i&&!s?n=6:i&&s&&(n=14)):(n=0,!i&&s?n=8:i&&!s?n=12:i&&s&&(n=4)),n}function o(e,l,n,o){let r=e;return l&&(r|=t),n&&(r|=i),o&&(r|=s),r}!function(e){e.tileIdMask=536870911,e.getTileId=function(t){return t&e.tileIdMask},e.setFlippedHorizontally=function(e,i){return e&=2147483647,i&&(e|=t),e},e.setFlippedVertically=function(e,t){return e&=-1073741825,t&&(e|=i),e},e.setFlippedDiagonally=function(e,t){return e&=-536870913,t&&(e|=s),e},e.isFlippedHorizontally=function(e){return 0!==(e&t)},e.isFlippedVertically=function(e){return 0!==(e&i)},e.isFlippedDiagonally=function(e){return 0!==(e&s)}}(l||(l={}));class r{constructor(e,t,i,s,l){this._backgroundResourceName=null,this.tileSetColumnCount=0,this.tileSetRowCount=0,this.tileWidth=e,this.tileHeight=t,this.dimX=i,this.dimY=s,this._tileSet=l,this._layers=[]}clone(){const e=new r(this.tileWidth,this.tileHeight,this.dimX,this.dimY,this._tileSet);for(const t of this._layers)e._layers.push(t.clone(e,t.id));return e}static from(e,{tileSize:t,tileSetColumnCount:i,tileSetRowCount:s}){const l=new Map;if(!Number.isInteger(i)||i<=0||!Number.isInteger(s)||s<=0)throw new Error(`Tilemap object badly configured. Tile size ${t} is not compatible with atlas image dimensions, resulting in having ${i} columns and ${s} rows.`);new Array(i*s).fill(0).forEach((e,t)=>{l.set(t,new u(0))});const n=new r(t||e.tileWidth,t||e.tileHeight,e.dimX||1,e.dimY||1,l);return e.layers?e.layers.forEach(e=>{n.addTileLayer(d.from(e,n,e=>ee.toJSObject())}}getWidth(){return this.tileWidth*this.dimX}getHeight(){return this.tileHeight*this.dimY}getTileHeight(){return this.tileHeight}getTileWidth(){return this.tileWidth}getDimensionX(){return this.dimX}getDimensionY(){return this.dimY}setDimensionX(e){if(e===this.dimX)return;const t=e-this.dimX;for(const e of this.getLayers())e instanceof d&&(t>0?e.increaseDimensions(t,0,0,0):e.reduceDimensions(-t,0,0,0));this.dimX=e}increaseDimensions(e,t,i,s){if(!(e<0||t<0||i<0||s<0||0===e&&0===t&&0===i&&0===s)){for(const l of this.getLayers())l instanceof d&&l.increaseDimensions(e,t,i,s);this.dimX=this.dimX+e+t,this.dimY=this.dimY+i+s}}setDimensionY(e){if(e===this.dimY)return;const t=e-this.dimY;for(const e of this.getLayers())e instanceof d&&(t>0?e.increaseDimensions(0,0,t,0):e.reduceDimensions(0,0,-t,0));this.dimY=e}getTileDefinition(e){return this._tileSet.get(e)}getTileDefinitions(){return this._tileSet.values()}getTileSetColumnCount(){return this.tileSetColumnCount}getTileSetRowCount(){return this.tileSetRowCount}setTileSetColumnCount(e){this.tileSetColumnCount=e}setTileSetRowCount(e){this.tileSetRowCount=e}addNewTileLayer(e){const t=new d(this,e);return this._layers.push(t),t}addTileLayer(e){this._layers.push(e)}getTileLayer(e){const t=this._layers.find(t=>t.id===e);return t instanceof d?t:null}addObjectLayer(e){const t=new c(this,e);return this._layers.push(t),t}getBackgroundResourceName(){return this._backgroundResourceName}getLayers(){return this._layers}pointIsInsideTile(e,t,i){const s=Math.floor(e/this.tileWidth),l=Math.floor(t/this.tileHeight);for(const e of this._layers){const t=e;if(!t)continue;const n=t.getTileId(s,l);if(void 0===n)return!1;if(this._tileSet.get(n).hasTaggedHitBox(i))return!0}return!1}setBackgroundResourceName(e){this._backgroundResourceName=e}isEmpty(){return this._layers.every(e=>e.isEmpty())}getTileId(e,t,i){const s=this.getTileLayer(i);if(!s)return-1;const l=s.getTileId(e,t);return void 0===l?-1:l}setTile(e,t,i,s){const l=this.getTileLayer(i);l&&l.setTile(e,t,s)}flipTileOnY(e,t,i,s){const l=this.getTileLayer(i);l&&l.setFlippedVertically(e,t,s)}flipTileOnX(e,t,i,s){const l=this.getTileLayer(i);l&&l.setFlippedHorizontally(e,t,s)}isTileFlippedOnX(e,t,i){const s=this.getTileLayer(i);return!!s&&s.isFlippedHorizontally(e,t)}isTileFlippedOnY(e,t,i){const s=this.getTileLayer(i);return!!s&&s.isFlippedVertically(e,t)}removeTile(e,t,i){if(e<0||e>=this.dimX||t<0||t>=this.dimY)return;const s=this.getTileLayer(i);s&&s.removeTile(e,t)}trimEmptyColumnsAndRowToFitLayer(e){const t=this.getTileLayer(e);if(!t)return;const i=this.dimY,s=this.dimX,l=t.getTrimmingData();for(const e of this.getLayers())e instanceof d&&e.reduceDimensions(l.columnsToPop,l.columnsToShift,l.rowsToPop,l.rowsToShift);return this.dimX=s-l.columnsToPop-l.columnsToShift,this.dimY=i-l.rowsToPop-l.rowsToShift,0===this.dimX&&0===this.dimY&&1===this._layers.length?(t.increaseDimensions(1,0,1,0),this.dimX=1,this.dimY=1,{shiftedRows:0,shiftedColumns:0,poppedRows:i-1,poppedColumns:s-1}):{poppedRows:l.rowsToPop,poppedColumns:l.columnsToPop,shiftedRows:l.rowsToShift,shiftedColumns:l.columnsToShift}}}class a{constructor(e,t){this.visible=!0,this.tileMap=e,this.id=t}setVisible(e){this.visible=e}toJSObject(){return{id:this.id,alpha:0,tiles:[]}}isVisible(){return this.visible}isEmpty(){return!0}}class c extends a{constructor(e,t){super(e,t),this.objects=[]}clone(e,t){const i=new c(e,t);return i.objects.push.apply(this.objects),i}add(e){this.objects.push(e)}isEmpty(){return 0===this.objects.length}}class h{constructor(e,t,i){this.tileId=i,this.x=e,this.y=t}getTileId(){return l.getTileId(this.tileId)}setFlippedHorizontally(e){this.tileId=l.setFlippedHorizontally(this.tileId,e)}setFlippedVertically(e){this.tileId=l.setFlippedVertically(this.tileId,e)}setFlippedDiagonally(e){this.tileId=l.setFlippedDiagonally(this.tileId,e)}isFlippedHorizontally(){return l.isFlippedHorizontally(this.tileId)}isFlippedVertically(){return l.isFlippedVertically(this.tileId)}isFlippedDiagonally(){return l.isFlippedDiagonally(this.tileId)}}class d extends a{constructor(e,t){super(e,t);const i=this.tileMap.getDimensionX(),s=this.tileMap.getDimensionY();this._tiles=[],this._tiles.length=s;for(let e=0;ee.forEach((e,n)=>{const o=l.getTileId(e);i(o)&&s.setTileGID(n,t,e)})),s}toJSObject(){return{id:this.id,alpha:this._alpha,tiles:this._tiles.map((e,t)=>Array.from(e.map((e,i)=>{const s=this.getTileGID(i,t);return void 0===s?-1:s})))}}getAlpha(){return this._alpha}setAlpha(e){this._alpha=e}isEmpty(){return this._tiles.every(e=>e.every(e=>0===e))}reduceDimensions(e,t,i,s){(i>0||s>0)&&(this._tiles=this._tiles.slice(s,i?-i:void 0)),(e>0||t>0)&&this._tiles.forEach((i,s)=>{this._tiles[s]=this._tiles[s].slice(t,e?-e:void 0)})}increaseDimensions(e,t,i,s){const l=this._tiles.length,n=this._tiles[0].length;if((e>0||t>0)&&this._tiles.forEach((i,s)=>{const l=new Int32Array(n+e+t).fill(0);l.set(i,t),this._tiles[s]=l}),i>0||s>0){this._tiles.unshift(...new Array(s).fill(0).map(()=>new Int32Array(n+e+t).fill(0))),this._tiles.length=l+i+s;for(let i=l+s;i=s.length||(s[e]=i+1)}setTileGID(e,t,i){const s=this._tiles[t];!s||e>=s.length||(s[e]=i+1)}getTrimmingData(){let e=this.getDimensionX(),t=this.getDimensionY(),i=-1,s=-1;for(let e=this._tiles.length-1;e>=0;e--){const t=this._tiles[e];let l=0;for(let n=t.length-1;n>=0;n--)if(l=t[n],0!==l){i=n,s=e;break}if(0!==l)break}if(-1===s)return{columnsToShift:0,rowsToShift:0,columnsToPop:this.getDimensionX()-1,rowsToPop:this.getDimensionY()-1};for(let i=0;i<=s;i++){const s=this._tiles[i];let l=0;for(let n=0;ni;e--){for(let n=t;n=i.length||(i[e]=0)}setFlippedHorizontally(e,t,i){const s=this._tiles[t];if(!s||e>=s.length)return;const n=s[e];0!==n&&(s[e]=l.setFlippedHorizontally(n,i))}setFlippedVertically(e,t,i){const s=this._tiles[t];if(!s||e>=s.length)return;const n=s[e];0!==n&&(s[e]=l.setFlippedVertically(n,i))}setFlippedDiagonally(e,t,i){const s=this._tiles[t];if(!s||e>=s.length)return;const n=s[e];0!==n&&(s[e]=l.setFlippedDiagonally(n,i))}isFlippedHorizontally(e,t){const i=this._tiles[t];return!(!i||e>=i.length)&&l.isFlippedHorizontally(i[e])}isFlippedVertically(e,t){const i=this._tiles[t];return!(!i||e>=i.length)&&l.isFlippedVertically(i[e])}isFlippedDiagonally(e,t){const i=this._tiles[t];return!(!i||e>=i.length)&&l.isFlippedDiagonally(i[e])}getTileGID(e,t){const i=this._tiles[t];if(i&&!(e>=i.length)&&0!==i[e])return i[e]-1}getTileId(e,t){const i=this._tiles[t];if(!i||e>=i.length||0===i[e])return;return l.getTileId(i[e]-1)}getDimensionX(){return 0===this._tiles.length?0:this._tiles[0].length}getDimensionY(){return this._tiles.length}getWidth(){return this.tileMap.getWidth()}getHeight(){return this.tileMap.getHeight()}}class u{constructor(e){this.taggedHitBoxes=[],this.animationLength=null!=e?e:0,this.stackedTiles=[]}addHitBox(e,t,i){let s=this.taggedHitBoxes.find(t=>t.tag===e);s||(s={tag:e,polygons:[],hasFullHitBox:!1},this.taggedHitBoxes.push(s)),s.hasFullHitBox||(s.hasFullHitBox=i),s.polygons.push(t)}hasTaggedHitBox(e){return this.taggedHitBoxes.some(t=>t.tag===e)}getHitBoxes(e){const t=this.taggedHitBoxes.find(t=>t.tag===e);return t&&t.polygons}hasFullHitBox(e){const t=this.taggedHitBoxes.find(t=>t.tag===e);return!!t&&t.hasFullHitBox}getAnimationLength(){return this.animationLength}getStackTileId(){return this.stackTileId}getStackedTiles(){return this.stackedTiles}hasStackedTiles(){return this.stackedTiles.length>0}setStackedTiles(e,...t){this.stackedTiles=t,this.stackTileId=e}}class p{constructor(){this._cachedValues=new Map,this._callbacks=new Map}getOrLoad(e,t,i){{const t=this._cachedValues.get(e);if(t)return void i(t)}{const t=this._callbacks.get(e);if(t)return void t.push(i);this._callbacks.set(e,[i])}t(t=>{t&&this._cachedValues.set(e,t);const i=this._callbacks.get(e);this._callbacks.delete(e);for(const e of i)e(t)})}}class f{constructor(){this._levelBackgroundTextures=new Map,this._textures=new Map}setTexture(e,t){this._textures.set(e,t)}getTexture(e){return this._textures.get(e)}getLevelBackgroundTexture(e){return this._levelBackgroundTextures.get(e)}setLevelBackgroundTexture(e,t){this._levelBackgroundTextures.set(e,t)}}const g=(e,t)=>{const{data:i,compression:s}=t;if(!i)return i;let l=4;const n=[];let o=atob(i).split("").map(function(e){return e.charCodeAt(0)});try{const t=(e,t)=>e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24)>>>0;if("zlib"===s){const i=new Uint8Array(o),s=e.inflate(i);for(;l<=s.length;)n.push(t(s,l-4)),l+=4}else{if("zstd"===s)return console.error("Zstandard compression is not supported for layers in a Tilemap. Use instead zlib compression or no compression."),null;for(;l<=o.length;)n.push(t(o,l-4)),l+=4}return n}catch(e){return console.error("Failed to decompress and unzip base64 layer.data string",e),null}},T=e=>{const l=e&t,n=e&i,o=e&s;return{id:y(536870911&e),flippedHorizontally:!!l,flippedVertically:!!n,flippedDiagonally:!!o}};function y(e){return 0===e?void 0:e-1}var m,_,w,x,b;function I(e,t){let i=e<<16;return i+=t,i}function k(e,t,i,s){var l;if(e[s])return e[s];let n=null;const o=t[s];return(null==o?void 0:o.relPath)?(n=i(o.relPath),"res/invalid_texture.png"===(null===(l=n.baseTexture)||void 0===l?void 0:l.cacheId)&&(console.error(`The atlas texture "${o.relPath}" can't be loaded`),n=null)):console.error(`The tileset "${o.identifier}" doesn't seems to contain an atlas texture`),e[s]=n,n}!function(e){e.parseAtlas=function(e,t,i,s){if(!e.tiledversion)return console.warn("The loaded Tiled map does not contain a 'tiledversion' key. Are you sure this file has been exported from Tiled (mapeditor.org)?"),null;if(!e.tilesets.length||"source"in e.tilesets[0])return console.warn("The loaded Tiled map seems not to contain any tileset data (nothing in 'tilesets' key)."),null;const l=e.tilesets[0],{tilewidth:n,tileheight:o,tilecount:r,image:a,columns:c,spacing:h,margin:d}=l,u=void 0===l.firstgid?1:l.firstgid;i||(i=s(a));const p=r/c,g=n*c+h*(c-1)+2*d,T=o*p+h*(p-1)+2*d;if(i.width-1?t:0];if(!l||!l.layerInstances)return null;const n={};for(const t of e.defs.tilesets)n[t.uid]=t;const o=new f,r={},a={};for(let e=l.layerInstances.length-1;e>=0;--e){const t=l.layerInstances[e];if("Entities"===t.__type)continue;const i=t.__tilesetDefUid;if("number"!=typeof i)continue;const c=n[i],h=k(a,n,s,i);if(!h)continue;const d={},u=c.tileGridSize;for(const e of[...t.autoLayerTiles,...t.gridTiles]){if(d[e.t])continue;const t=I(i,e.t);if(r[t])d[e.t]=!0;else{try{const[i,s]=e.src,l=new PIXI.Rectangle(i,s,u,u),n=new PIXI.Texture(h,l);o.setTexture(t,n)}catch(e){console.error("An error occurred while creating a PIXI.Texture to be used in a TileMap:",e)}d[e.t]=!0,r[t]=!0}}}if(l.bgRelPath){const e=s(l.bgRelPath),t=new PIXI.Rectangle(0,0,l.pxWid,l.pxHei),i=new PIXI.Texture(e,t);o.setLevelBackgroundTexture(l.bgRelPath,i)}return o}}(_||(_={})),e.PixiTileMapHelper=void 0,function(e){function t(e,t,i,s,l){const n=t.tileMap,o=n.getTileWidth(),r=n.getTileHeight();for(let a=0;a0&&o.tileAnimX(s,u.getAnimationLength())}}}},e.updatePixiCollisionMask=function(e,i,s,l,n,o,r,a,c){if(e)if(e.clear(),e.lineStyle(n,o,r),e.drawRect(0,0,i.getWidth(),i.getHeight()),l){t(e,i.getTileLayer(l),s,a,c)}else for(const l of i.getLayers())l instanceof d&&t(e,l,s,a,c)}}(e.PixiTileMapHelper||(e.PixiTileMapHelper={})),function(e){e.load=function(e,t){const i=e.levels[t>-1?t:0];if(!i||!i.layerInstances)return null;const s=new Map;let l=0,n=0,a=0;for(let e=i.layerInstances.length-1;e>=0;--e){const t=i.layerInstances[e],o=t.__tilesetDefUid,r={};for(const e of[...t.autoLayerTiles,...t.gridTiles]){if(r[e.t])continue;const t=I(o,e.t);if(s.has(t)){r[e.t]=!0;continue}const i=new u(0);r[e.t]=!0,s.set(t,i)}"IntGrid"!==t.__type&&"AutoLayer"!==t.__type&&"Tiles"!==t.__type||(0===l?(l=t.__gridSize,n=t.__cWid,a=t.__cHei):t.__gridSize!==l&&console.warn("Grid size is different across layers. Only the first layer grid size will be followed."))}const c=new r(l,l,n,a,s),h=e.defs.tilesets[0];h&&(c.setTileSetColumnCount(h.__cWid),c.setTileSetRowCount(Math.ceil(h.__cHei)));const d=new Map;let p=268435455;for(let e=i.layerInstances.length-1;e>=0;--e){const t=i.layerInstances[e],l=t.__gridSize,n=t.__tilesetDefUid,r=c.addNewTileLayer(e);r.setAlpha(t.__opacity),r.setVisible(t.visible);for(const e of[...t.autoLayerTiles,...t.gridTiles]){const t=Math.floor(e.px[0]/l),i=Math.floor(e.px[1]/l),a=I(n,e.t),c=r.getTileId(t,i);if(void 0===c)r.setTile(t,i,a),r.setFlippedHorizontally(t,i,1===e.f||3===e.f),r.setFlippedVertically(t,i,2===e.f||3===e.f);else{const l=o(a,1===e.f||3===e.f,2===e.f||3===e.f,!1),n=s.get(c);if(null==n?void 0:n.hasStackedTiles()){const e=`${n.getStackedTiles().map(e=>`${e}`).join(";")};${l}`,o=d.get(e);if(o)r.setTile(t,i,o.getStackTileId());else{const o=new u(0);o.setStackedTiles(p,...n.getStackedTiles(),l),s.set(p,o),p-=1,d.set(e,o),r.setTile(t,i,o.getStackTileId())}}else{const e=r.getTileGID(t,i),n=`${e};${l}`,o=new u(0);o.setStackedTiles(p,e,l),s.set(p,o),p-=1,d.set(n,o),r.setTile(t,i,o.getStackTileId())}}}}return i.bgRelPath&&c.setBackgroundResourceName(i.bgRelPath),c}}(w||(w={})),function(e){e.load=function(e,t){if(!e.tiledversion)return console.warn("The loaded Tiled map does not contain a 'tiledversion' key. Are you sure this file has been exported from Tiled (mapeditor.org)?"),null;const i=new Map;for(const t of e.tilesets){const s=void 0===t.firstgid?1:t.firstgid;if(t.tiles)for(const l of t.tiles){const t=new u(l.animation?l.animation.length:0),n=l.type||l.class;if(l.objectgroup&&l.objectgroup.objects)for(const i of l.objectgroup.objects){const s=i.type||i.class||n||"";let l=null,o=!1;if(i.polygon){const e=i.rotation*Math.PI/180;let t=Math.cos(e),s=Math.sin(e);-1!==t&&1!==t||(s=0),-1!==s&&1!==s||(t=0),l=i.polygon.map(e=>[i.x+e.x*t-e.y*s,i.y+e.x*s+e.y*t])}else void 0!==i.x&&void 0!==i.y&&void 0!==i.width&&void 0!==i.height&&(l=[[i.x,i.y],[i.x,i.y+i.height],[i.x+i.width,i.y+i.height],[i.x+i.width,i.y]],o=0===i.x&&0===i.y&&i.width===e.tilewidth&&i.height===e.tileheight);l&&t.addHitBox(s,l,o)}else if(n){const i=[[0,0],[0,e.tileheight],[e.tilewidth,e.tileheight],[e.tilewidth,0]];t.addHitBox(n,i,!0)}i.set(y(s+l.id),t)}for(let e=0;e{e(t,i,e=>{if(!e)return void n(null);const t=b.load(e,s,l);n(t)})},n)}getOrLoadSimpleTileMap(e,t,i,s,l,n){n(r.from(e,{tileSize:i,tileSetColumnCount:s,tileSetRowCount:l}))}getOrLoadTextureCache(t,i,s,l,n,o,r){const a=l+"|"+n+"|"+s+"|"+o;this._textureCacheCaches.getOrLoad(a,r=>{t(l,n,t=>{if(!t)return void r(null);const l=s?i(s):null,n=e.PixiTileMapHelper.parseAtlas(t,o,l,i);r(n)})},r)}getOrLoadSimpleTileMapTextureCache(t,i,s,l,n,o){const r=`${i}|${s}|${l}|${n}`;this._textureCacheCaches.getOrLoad(r,o=>{if(!i)return void o(null);const r=t(i);o(e.PixiTileMapHelper.parseSimpleTileMapAtlas(r,l,n,s))},o)}clearCaches(){this._tileMapCache=new p,this._textureCacheCaches=new p}}e.EditableTileMap=r,e.EditableTileMapLayer=d,e.TileDefinition=u,e.TileMapManager=M,e.TileTextureCache=f,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=TileMapHelper.js.map diff --git a/Extensions/TileMap/helper/TileMapHelper.js.map b/Extensions/TileMap/helper/TileMapHelper.js.map index 8409129056..7212a0aff8 100644 --- a/Extensions/TileMap/helper/TileMapHelper.js.map +++ b/Extensions/TileMap/helper/TileMapHelper.js.map @@ -1 +1 @@ -{"version":3,"file":"TileMapHelper.js","sources":["../../../SharedLibs/src/model/GID.ts","../../../SharedLibs/src/model/TileMapModel.ts","../../../SharedLibs/src/render/ResourceCache.ts","../../../SharedLibs/src/render/TileTextureCache.ts","../../../SharedLibs/src/load/tiled/TiledTileMapLoaderHelper.ts","../../../SharedLibs/src/render/tiled/TiledPixiHelper.ts","../../../SharedLibs/src/render/ldtk/LDtkPixiHelper.ts","../../../SharedLibs/src/load/ldtk/LDtkTileMapLoader.ts","../../../SharedLibs/src/load/tiled/TiledTileMapLoader.ts","../../../SharedLibs/src/load/TileMapLoader.ts","../../../SharedLibs/src/load/ldtk/LDtkTileMapLoaderHelper.ts","../../../SharedLibs/src/render/TileMapPixiHelper.ts","../../../SharedLibs/src/render/TileMapManager.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["FLIPPED_HORIZONTALLY_FLAG","FLIPPED_VERTICALLY_FLAG","FLIPPED_DIAGONALLY_FLAG","FlippingHelper","getPixiRotate","tileGID","flippedDiagonally","isFlippedDiagonally","flippedHorizontally","isFlippedHorizontally","flippedVertically","isFlippedVertically","rotate","getTileGID","tileId","tileIdMask","getTileId","setFlippedHorizontally","setFlippedVertically","setFlippedDiagonally","EditableTileMap","constructor","tileWidth","tileHeight","dimX","dimY","tileSet","this","_backgroundResourceName","tileSetColumnCount","tileSetRowCount","_tileSet","_layers","clone","tileMap","layer","push","id","from","editableTileMapAsJsObject","tileSize","Map","Number","isInteger","Error","Array","fill","forEach","_","index","set","TileDefinition","layers","layerAsJsObject","addTileLayer","EditableTileMapLayer","addNewTileLayer","toJSObject","map","getWidth","getHeight","getTileHeight","getTileWidth","getDimensionX","getDimensionY","setDimensionX","dim","columnDelta","getLayers","increaseDimensions","reduceDimensions","columnsToAppend","columnsToUnshift","rowsToAppend","rowsToUnshift","setDimensionY","rowDelta","getTileDefinition","get","getTileDefinitions","values","getTileSetColumnCount","getTileSetRowCount","setTileSetColumnCount","setTileSetRowCount","getTileLayer","matchingLayer","find","addObjectLayer","EditableObjectLayer","getBackgroundResourceName","pointIsInsideTile","x","y","tag","indexX","Math","floor","indexY","tileLayer","undefined","hasTaggedHitBox","setBackgroundResourceName","resourceName","isEmpty","every","layerId","setTile","flipTileOnY","flip","flipTileOnX","isTileFlippedOnX","isTileFlippedOnY","removeTile","trimEmptyColumnsAndRowToFitLayer","initialRowCount","initialColumnCount","trimmingData","getTrimmingData","columnsToPop","columnsToShift","rowsToPop","rowsToShift","length","shiftedRows","shiftedColumns","poppedRows","poppedColumns","AbstractEditableLayer","visible","setVisible","alpha","tiles","isVisible","super","objects","apply","add","object","TileObject","dimensionX","dimensionY","_tiles","Int32Array","_alpha","editableTileMapLayerAsJsObject","isTileIdValid","setAlpha","row","setTileGID","getAlpha","cell","slice","rowIndex","newRow","unshift","console","error","tilesRow","initialDimensionX","initialDimensionY","columnsToShiftByRow","columnsToPopByRow","isFirstNonEmptyRowFound","isFirstNonEmptyColumnFound","min","animationLength","taggedHitBoxes","stackedTiles","addHitBox","polygon","hasFullHitBox","taggedHitBox","hitbox","polygons","some","getHitBoxes","getAnimationLength","getStackTileId","stackTileId","getStackedTiles","hasStackedTiles","setStackedTiles","ResourceCache","_cachedValues","_callbacks","getOrLoad","key","load","callback","value","callbacks","delete","TileTextureCache","_levelBackgroundTextures","_textures","setTexture","texture","getTexture","getLevelBackgroundTexture","name","setLevelBackgroundTexture","decodeBase64LayerData","pako","tiledLayer","data","compression","decodedData","step1","atob","split","charCodeAt","decodeArray","arr","binData","Uint8Array","decompressedData","inflate","extractTileUidFlippedStates","globalTileUid","getTileIdFromTiledGUI","tiledGUI","TiledPixiHelper","LDtkPixiHelper","LDtkTileMapLoader","TiledTileMapLoader","TileMapLoader","getLDtkTileId","tileSetId","uniqueId","getAtlasTexture","atlasTextures","tilesetCache","tilesetId","tileset","relPath","_a","baseTexture","cacheId","identifier","parseAtlas","levelIndex","atlasTexture","tiledversion","warn","tilesets","tiledSet","tilewidth","tileheight","tilecount","image","columns","spacing","margin","firstGid","firstgid","rows","expectedAtlasWidth","expectedAtlasHeight","width","height","textureCache","tileSetIndex","rect","PIXI","Rectangle","Texture","level","levels","layerInstances","defs","uid","levelTileCache","iLayer","__type","__tilesetDefUid","layerTileCache","gridSize","tileGridSize","tile","autoLayerTiles","gridTiles","t","src","bgRelPath","pxWid","pxHei","exports","PixiTileMapHelper","drawCollisionLayer","pixiGraphics","typeFilter","fillColor","fillOpacity","xPos","yPos","tileDefinition","hitboxes","vertices","beginFill","vertexX","vertexY","swap","moveTo","lineTo","closePath","endFill","kind","parseSimpleTileMapAtlas","columnCount","rowCount","updatePixiTileMap","untypedPixiTileMap","displayMode","layerIndex","leftBound","rightBound","topBound","bottomBound","pixiTileMap","clear","bgResourceName","objectLayer","minY","max","maxY","ceil","minX","maxX","tileTexture","pixiTilemapFrame","tileAnimX","updatePixiCollisionMask","outlineSize","outlineColor","outlineOpacity","lineStyle","drawRect","ldtkTileMap","ldtkLevel","tileCache","has","tileDef","__gridSize","__cWid","__cHei","editableTileMap","firstTileSet","composedTileMap","nextComposedTileId","editableTileLayer","__opacity","px","oldTileId","f","oldTileDef","hash","join","oldTileGID","tiledTileMap","definitions","tiledTileSet","animation","tileClass","type","class","objectgroup","angle","rotation","PI","cos","sin","point","tileIndex","tiledObject","gid","tileGid","tileSlotIndex","layerData","encoding","collisionTileLayer","opacity","tileUid","tileMapFileContent","TileMapManager","_tileMapCache","_textureCacheCaches","getManager","instanceHolder","tileMapCollisionMaskManager","identify","info","__header__","app","getOrLoadTileMap","loadTileMap","tileMapJsonResourceName","tileSetJsonResourceName","getOrLoadSimpleTileMap","tileMapAsJsObject","objectName","getOrLoadTextureCache","atlasImageResourceName","getOrLoadSimpleTileMapTextureCache","textureCacheLoadingCallback","clearCaches"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"TileMapHelper.js","sources":["../../../SharedLibs/src/model/GID.ts","../../../SharedLibs/src/model/TileMapModel.ts","../../../SharedLibs/src/render/ResourceCache.ts","../../../SharedLibs/src/render/TileTextureCache.ts","../../../SharedLibs/src/load/tiled/TiledTileMapLoaderHelper.ts","../../../SharedLibs/src/render/tiled/TiledPixiHelper.ts","../../../SharedLibs/src/render/ldtk/LDtkPixiHelper.ts","../../../SharedLibs/src/load/ldtk/LDtkTileMapLoader.ts","../../../SharedLibs/src/load/tiled/TiledTileMapLoader.ts","../../../SharedLibs/src/load/TileMapLoader.ts","../../../SharedLibs/src/load/ldtk/LDtkTileMapLoaderHelper.ts","../../../SharedLibs/src/render/TileMapPixiHelper.ts","../../../SharedLibs/src/render/TileMapManager.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["FLIPPED_HORIZONTALLY_FLAG","FLIPPED_VERTICALLY_FLAG","FLIPPED_DIAGONALLY_FLAG","FlippingHelper","getPixiRotate","tileGID","flippedDiagonally","isFlippedDiagonally","flippedHorizontally","isFlippedHorizontally","flippedVertically","isFlippedVertically","rotate","getTileGID","tileId","tileIdMask","getTileId","setFlippedHorizontally","setFlippedVertically","setFlippedDiagonally","EditableTileMap","constructor","tileWidth","tileHeight","dimX","dimY","tileSet","this","_backgroundResourceName","tileSetColumnCount","tileSetRowCount","_tileSet","_layers","clone","tileMap","layer","push","id","from","editableTileMapAsJsObject","tileSize","Map","Number","isInteger","Error","Array","fill","forEach","_","index","set","TileDefinition","layers","layerAsJsObject","addTileLayer","EditableTileMapLayer","addNewTileLayer","toJSObject","map","getWidth","getHeight","getTileHeight","getTileWidth","getDimensionX","getDimensionY","setDimensionX","dim","columnDelta","getLayers","increaseDimensions","reduceDimensions","columnsToAppend","columnsToUnshift","rowsToAppend","rowsToUnshift","setDimensionY","rowDelta","getTileDefinition","get","getTileDefinitions","values","getTileSetColumnCount","getTileSetRowCount","setTileSetColumnCount","setTileSetRowCount","getTileLayer","matchingLayer","find","addObjectLayer","EditableObjectLayer","getBackgroundResourceName","pointIsInsideTile","x","y","tag","indexX","Math","floor","indexY","tileLayer","undefined","hasTaggedHitBox","setBackgroundResourceName","resourceName","isEmpty","every","layerId","setTile","flipTileOnY","flip","flipTileOnX","isTileFlippedOnX","isTileFlippedOnY","removeTile","trimEmptyColumnsAndRowToFitLayer","initialRowCount","initialColumnCount","trimmingData","getTrimmingData","columnsToPop","columnsToShift","rowsToPop","rowsToShift","length","shiftedRows","shiftedColumns","poppedRows","poppedColumns","AbstractEditableLayer","visible","setVisible","alpha","tiles","isVisible","super","objects","apply","add","object","TileObject","dimensionX","dimensionY","_tiles","Int32Array","_alpha","editableTileMapLayerAsJsObject","isTileIdValid","setAlpha","row","setTileGID","getAlpha","cell","slice","rowIndex","newRow","unshift","console","error","tilesRow","minX","minY","maxX","maxY","animationLength","taggedHitBoxes","stackedTiles","addHitBox","polygon","hasFullHitBox","taggedHitBox","hitbox","polygons","some","getHitBoxes","getAnimationLength","getStackTileId","stackTileId","getStackedTiles","hasStackedTiles","setStackedTiles","ResourceCache","_cachedValues","_callbacks","getOrLoad","key","load","callback","value","callbacks","delete","TileTextureCache","_levelBackgroundTextures","_textures","setTexture","texture","getTexture","getLevelBackgroundTexture","name","setLevelBackgroundTexture","decodeBase64LayerData","pako","tiledLayer","data","compression","decodedData","step1","atob","split","charCodeAt","decodeArray","arr","binData","Uint8Array","decompressedData","inflate","extractTileUidFlippedStates","globalTileUid","getTileIdFromTiledGUI","tiledGUI","TiledPixiHelper","LDtkPixiHelper","LDtkTileMapLoader","TiledTileMapLoader","TileMapLoader","getLDtkTileId","tileSetId","uniqueId","getAtlasTexture","atlasTextures","tilesetCache","tilesetId","tileset","relPath","_a","baseTexture","cacheId","identifier","parseAtlas","levelIndex","atlasTexture","tiledversion","warn","tilesets","tiledSet","tilewidth","tileheight","tilecount","image","columns","spacing","margin","firstGid","firstgid","rows","expectedAtlasWidth","expectedAtlasHeight","width","height","textureCache","tileSetIndex","rect","PIXI","Rectangle","Texture","level","levels","layerInstances","defs","uid","levelTileCache","iLayer","__type","__tilesetDefUid","layerTileCache","gridSize","tileGridSize","tile","autoLayerTiles","gridTiles","t","src","bgRelPath","pxWid","pxHei","exports","PixiTileMapHelper","drawCollisionLayer","pixiGraphics","typeFilter","fillColor","fillOpacity","xPos","yPos","tileDefinition","hitboxes","vertices","beginFill","vertexX","vertexY","swap","moveTo","lineTo","closePath","endFill","kind","parseSimpleTileMapAtlas","columnCount","rowCount","updatePixiTileMap","untypedPixiTileMap","displayMode","layerIndex","leftBound","rightBound","topBound","bottomBound","pixiTileMap","clear","bgResourceName","objectLayer","max","min","ceil","tileTexture","pixiTilemapFrame","tileAnimX","updatePixiCollisionMask","outlineSize","outlineColor","outlineOpacity","lineStyle","drawRect","ldtkTileMap","ldtkLevel","tileCache","has","tileDef","__gridSize","__cWid","__cHei","editableTileMap","firstTileSet","composedTileMap","nextComposedTileId","editableTileLayer","__opacity","px","oldTileId","f","oldTileDef","hash","join","oldTileGID","tiledTileMap","definitions","tiledTileSet","animation","tileClass","type","class","objectgroup","angle","rotation","PI","cos","sin","point","tileIndex","tiledObject","gid","tileGid","tileSlotIndex","layerData","encoding","collisionTileLayer","opacity","tileUid","tileMapFileContent","TileMapManager","_tileMapCache","_textureCacheCaches","getManager","instanceHolder","tileMapCollisionMaskManager","identify","info","__header__","app","getOrLoadTileMap","loadTileMap","tileMapJsonResourceName","tileSetJsonResourceName","getOrLoadSimpleTileMap","tileMapAsJsObject","objectName","getOrLoadTextureCache","atlasImageResourceName","getOrLoadSimpleTileMapTextureCache","textureCacheLoadingCallback","clearCaches"],"mappings":"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"} \ No newline at end of file diff --git a/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts.map b/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts.map index 4e031ce4a8..acfebd0ad0 100644 --- a/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts.map +++ b/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"TileMapModel.d.ts","sourceRoot":"","sources":["../../src/model/TileMapModel.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"TileMapModel.d.ts","sourceRoot":"","sources":["../../src/model/TileMapModel.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/SharedLibs/TileMapHelper/src/model/TileMapModel.ts b/SharedLibs/TileMapHelper/src/model/TileMapModel.ts index 1cb35e0da9..034e56c64e 100644 --- a/SharedLibs/TileMapHelper/src/model/TileMapModel.ts +++ b/SharedLibs/TileMapHelper/src/model/TileMapModel.ts @@ -858,54 +858,92 @@ export class EditableTileMapLayer extends AbstractEditableLayer { rowsToPop: number; columnsToPop: number; } { - let rowsToShift = 0, - rowsToPop = 0; - const initialDimensionX = this.getDimensionX(); - const initialDimensionY = this.getDimensionY(); - const columnsToShiftByRow = new Array(this._tiles.length).fill( - this._tiles[0].length, - ); - const columnsToPopByRow = new Array(this._tiles.length).fill( - this._tiles[0].length, - ); - let isFirstNonEmptyRowFound = false; - for (let y = 0; y < this._tiles.length; y++) { + let minX = this.getDimensionX(); + let minY = this.getDimensionY(); + let maxX = -1; + let maxY = -1; + + // Scan from the bottom + for (let y = this._tiles.length - 1; y >= 0; y--) { const row = this._tiles[y]; - let isFirstNonEmptyColumnFound = false; - for (let x = 0; x < row.length; x++) { - const cell = row[x]; + let cell = 0; + // from right to left + for (let x = row.length - 1; x >= 0; x--) { + cell = row[x]; if (cell !== 0) { - columnsToPopByRow[y] = row.length - 1 - x; - if (!isFirstNonEmptyColumnFound) { - columnsToShiftByRow[y] = x; - isFirstNonEmptyColumnFound = true; - } + maxX = x; + maxY = y; + break; } } - const isRowEmpty = !isFirstNonEmptyColumnFound; - if (!isRowEmpty) { - rowsToPop = this._tiles.length - 1 - y; - if (!isFirstNonEmptyRowFound) { - rowsToShift = y; - isFirstNonEmptyRowFound = true; - } + if (cell !== 0) { + break; } } - if (!isFirstNonEmptyRowFound) { + // The layer is empty. + if (maxY === -1) { return { columnsToShift: 0, rowsToShift: 0, - columnsToPop: initialDimensionX - 1, - rowsToPop: initialDimensionY - 1, + columnsToPop: this.getDimensionX() - 1, + rowsToPop: this.getDimensionY() - 1, }; } - const columnsToShift = Math.min(...columnsToShiftByRow); - const columnsToPop = Math.min(...columnsToPopByRow); + // Scan from the top + for (let y = 0; y <= maxY; y++) { + const row = this._tiles[y]; + let cell = 0; + // from left to right + for (let x = 0; x < row.length; x++) { + cell = row[x]; + if (cell !== 0) { + minX = x; + minY = y; + break; + } + } + if (cell !== 0) { + break; + } + } + // When only 1 row remains, we already found the bounds. + if (minY !== maxY) { + let cell = 0; + // Scan from the right + for (let x = this.getDimensionX() - 1; x > maxX; x--) { + // maxY is already covered + for (let y = minY; y < maxY; y++) { + cell = this._tiles[y][x]; + if (cell !== 0) { + maxX = x; + break; + } + } + if (cell !== 0) { + break; + } + } + // Scan from the left + for (let x = 0; x < minX; x++) { + let cell = 0; + // minY is already covered + for (let y = minY + 1; y <= maxY; y++) { + cell = this._tiles[y][x]; + if (cell !== 0) { + minX = x; + break; + } + } + if (cell !== 0) { + break; + } + } + } return { - rowsToShift, - columnsToShift, - rowsToPop, - columnsToPop, + rowsToShift: minY, + columnsToShift: minX, + rowsToPop: this.getDimensionY() - 1 - maxY, + columnsToPop: this.getDimensionX() - 1 - maxX, }; }