|
|
|
@ -17,10 +17,10 @@ export default class HextileDecoder {
|
|
|
|
|
|
|
|
|
|
decodeRect(x, y, width, height, sock, display, depth) {
|
|
|
|
|
if (this._tiles === 0) {
|
|
|
|
|
this._tiles_x = Math.ceil(width / 16);
|
|
|
|
|
this._tiles_y = Math.ceil(height / 16);
|
|
|
|
|
this._total_tiles = this._tiles_x * this._tiles_y;
|
|
|
|
|
this._tiles = this._total_tiles;
|
|
|
|
|
this._tilesX = Math.ceil(width / 16);
|
|
|
|
|
this._tilesY = Math.ceil(height / 16);
|
|
|
|
|
this._totalTiles = this._tilesX * this._tilesY;
|
|
|
|
|
this._tiles = this._totalTiles;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
while (this._tiles > 0) {
|
|
|
|
@ -39,11 +39,11 @@ export default class HextileDecoder {
|
|
|
|
|
subencoding + ")");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const curr_tile = this._total_tiles - this._tiles;
|
|
|
|
|
const tile_x = curr_tile % this._tiles_x;
|
|
|
|
|
const tile_y = Math.floor(curr_tile / this._tiles_x);
|
|
|
|
|
const tx = x + tile_x * 16;
|
|
|
|
|
const ty = y + tile_y * 16;
|
|
|
|
|
const currTile = this._totalTiles - this._tiles;
|
|
|
|
|
const tileX = currTile % this._tilesX;
|
|
|
|
|
const tileY = Math.floor(currTile / this._tilesX);
|
|
|
|
|
const tx = x + tileX * 16;
|
|
|
|
|
const ty = y + tileY * 16;
|
|
|
|
|
const tw = Math.min(16, (x + width) - tx);
|
|
|
|
|
const th = Math.min(16, (y + height) - ty);
|
|
|
|
|
|
|
|
|
|