@codexo/exojs-tiled 0.14.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/TiledMap.d.ts +6 -4
- package/dist/esm/TiledMap.js +227 -17
- package/dist/esm/TiledMap.js.map +1 -1
- package/dist/esm/TiledTileset.d.ts +3 -1
- package/dist/esm/TiledTileset.js +3 -0
- package/dist/esm/TiledTileset.js.map +1 -1
- package/dist/esm/data.d.ts +42 -0
- package/dist/esm/decodeLayerData.d.ts +9 -0
- package/dist/esm/decodeLayerData.js +100 -0
- package/dist/esm/decodeLayerData.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loadTiledMap.js +32 -2
- package/dist/esm/loadTiledMap.js.map +1 -1
- package/dist/esm/public.d.ts +4 -3
- package/dist/esm/register.js +2 -1
- package/dist/esm/register.js.map +1 -1
- package/dist/esm/tiledBuildInfo.js +2 -2
- package/dist/esm/validate.js +36 -0
- package/dist/esm/validate.js.map +1 -1
- package/dist/esm/wangSets.d.ts +43 -0
- package/dist/esm/wangSets.js +127 -0
- package/dist/esm/wangSets.js.map +1 -0
- package/package.json +5 -5
package/dist/esm/TiledMap.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Texture } from '@codexo/exojs';
|
|
1
2
|
import { TileMap } from '@codexo/exojs-tilemap';
|
|
2
3
|
import type { TiledMapData, TiledOrientation, TiledPropertyData, TiledRenderOrder } from './data';
|
|
3
4
|
import { type TiledLayer } from './TiledLayer';
|
|
@@ -37,7 +38,8 @@ export declare class TiledMap {
|
|
|
37
38
|
/** Tilesets used by this map, sorted by {@link TiledTileset.firstGid} ascending. */
|
|
38
39
|
readonly tilesets: readonly TiledTileset[];
|
|
39
40
|
readonly properties: readonly TiledPropertyData[];
|
|
40
|
-
|
|
41
|
+
private readonly _imageTextures;
|
|
42
|
+
constructor(source: string, data: TiledMapData, tilesets: readonly TiledTileset[], imageTextures?: ReadonlyMap<number, Texture>);
|
|
41
43
|
/**
|
|
42
44
|
* Returns the tileset that owns `gid`, or `undefined` if `gid` is `0`
|
|
43
45
|
* (the empty-cell sentinel) or is not covered by any tileset.
|
|
@@ -56,9 +58,9 @@ export declare class TiledMap {
|
|
|
56
58
|
* Only finite orthogonal maps with atlas tilesets are supported. A
|
|
57
59
|
* non-orthogonal or infinite map, or a collection-of-images tileset, throws
|
|
58
60
|
* {@link TiledFormatError} rather than silently producing wrong (misplaced)
|
|
59
|
-
* or empty geometry. Tile layers become renderable `TileLayer`s
|
|
60
|
-
* groups become data-only `ObjectLayer`s
|
|
61
|
-
*
|
|
61
|
+
* or empty geometry. Tile layers become renderable `TileLayer`s, object
|
|
62
|
+
* groups become data-only `ObjectLayer`s, and image layers become data-only
|
|
63
|
+
* `ImageLayer`s; group layer children are flattened in document order.
|
|
62
64
|
*
|
|
63
65
|
* The returned `TileMap` does **not** own the tileset textures — they remain
|
|
64
66
|
* in the Loader cache. Destroying the returned map does not unload textures.
|
package/dist/esm/TiledMap.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { TextureRegion } from '@codexo/exojs';
|
|
2
|
-
import { TileSet, TileMap, TileLayer, ObjectLayer } from '@codexo/exojs-tilemap';
|
|
2
|
+
import { TileSet, TileMap, TileLayer, ImageLayer, ObjectLayer, TilePropertyKind } from '@codexo/exojs-tilemap';
|
|
3
3
|
import { maskTiledGid, TILED_FLIPPED_DIAGONALLY_FLAG, TILED_FLIPPED_VERTICALLY_FLAG, TILED_FLIPPED_HORIZONTALLY_FLAG } from './gid.js';
|
|
4
|
-
import { createTiledLayer, TiledGroupLayer, TiledTileLayer, TiledObjectLayer } from './TiledLayer.js';
|
|
4
|
+
import { createTiledLayer, TiledGroupLayer, TiledTileLayer, TiledObjectLayer, TiledImageLayer } from './TiledLayer.js';
|
|
5
|
+
import { resolveTiledUrl } from './url.js';
|
|
5
6
|
import { TiledFormatError } from './validate.js';
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -39,7 +40,8 @@ class TiledMap {
|
|
|
39
40
|
/** Tilesets used by this map, sorted by {@link TiledTileset.firstGid} ascending. */
|
|
40
41
|
tilesets;
|
|
41
42
|
properties;
|
|
42
|
-
|
|
43
|
+
_imageTextures;
|
|
44
|
+
constructor(source, data, tilesets, imageTextures = new Map()) {
|
|
43
45
|
this.source = source;
|
|
44
46
|
this.data = data;
|
|
45
47
|
this.orientation = data.orientation;
|
|
@@ -52,6 +54,7 @@ class TiledMap {
|
|
|
52
54
|
this.infinite = data.infinite;
|
|
53
55
|
this.backgroundColor = data.backgroundcolor;
|
|
54
56
|
this.properties = data.properties ?? [];
|
|
57
|
+
this._imageTextures = imageTextures;
|
|
55
58
|
this.layers = data.layers.map(createTiledLayer);
|
|
56
59
|
this.tilesets = sortAndValidateTilesetRanges(tilesets, source);
|
|
57
60
|
checkGidCoverage(this, source);
|
|
@@ -87,9 +90,9 @@ class TiledMap {
|
|
|
87
90
|
* Only finite orthogonal maps with atlas tilesets are supported. A
|
|
88
91
|
* non-orthogonal or infinite map, or a collection-of-images tileset, throws
|
|
89
92
|
* {@link TiledFormatError} rather than silently producing wrong (misplaced)
|
|
90
|
-
* or empty geometry. Tile layers become renderable `TileLayer`s
|
|
91
|
-
* groups become data-only `ObjectLayer`s
|
|
92
|
-
*
|
|
93
|
+
* or empty geometry. Tile layers become renderable `TileLayer`s, object
|
|
94
|
+
* groups become data-only `ObjectLayer`s, and image layers become data-only
|
|
95
|
+
* `ImageLayer`s; group layer children are flattened in document order.
|
|
93
96
|
*
|
|
94
97
|
* The returned `TileMap` does **not** own the tileset textures — they remain
|
|
95
98
|
* in the Loader cache. Destroying the returned map does not unload textures.
|
|
@@ -138,13 +141,24 @@ class TiledMap {
|
|
|
138
141
|
columns: tiledTs.columns,
|
|
139
142
|
spacing: tiledTs.spacing,
|
|
140
143
|
margin: tiledTs.margin,
|
|
144
|
+
class: tiledTs.class,
|
|
145
|
+
offsetX: tiledTs.tileOffset.x,
|
|
146
|
+
offsetY: tiledTs.tileOffset.y,
|
|
141
147
|
});
|
|
148
|
+
// Carry per-tile metadata (properties + animation frames) into the runtime
|
|
149
|
+
// tileset. Without this, Tiled tile animations and per-tile properties are
|
|
150
|
+
// lost at conversion. Out-of-range entries are skipped defensively.
|
|
151
|
+
const defs = buildTileDefinitions(tiledTs.tiles, tiledTs.tileCount);
|
|
152
|
+
if (defs.length > 0) {
|
|
153
|
+
rts._setDefinitions(defs);
|
|
154
|
+
}
|
|
142
155
|
runtimeTilesets.push(rts);
|
|
143
156
|
indexToRuntime.push(rts);
|
|
144
157
|
}
|
|
145
|
-
// Collect and convert tile + object layers, flattening group layers.
|
|
158
|
+
// Collect and convert tile + object + image layers, flattening group layers.
|
|
146
159
|
const runtimeLayers = [];
|
|
147
160
|
const runtimeObjectLayers = [];
|
|
161
|
+
const runtimeImageLayers = [];
|
|
148
162
|
const convertLayers = (layers) => {
|
|
149
163
|
for (const layer of layers) {
|
|
150
164
|
if (layer instanceof TiledGroupLayer) {
|
|
@@ -163,6 +177,10 @@ class TiledMap {
|
|
|
163
177
|
opacity: layer.opacity,
|
|
164
178
|
offsetX: layer.offsetX,
|
|
165
179
|
offsetY: layer.offsetY,
|
|
180
|
+
parallaxX: layer.parallaxX,
|
|
181
|
+
parallaxY: layer.parallaxY,
|
|
182
|
+
class: layer.class,
|
|
183
|
+
tintColor: parseTiledColor(layer.tintColor),
|
|
166
184
|
});
|
|
167
185
|
if (layer.data) {
|
|
168
186
|
populateTileLayer(rLayer, layer.data, this.tilesets, indexToRuntime);
|
|
@@ -172,7 +190,25 @@ class TiledMap {
|
|
|
172
190
|
else if (layer instanceof TiledObjectLayer) {
|
|
173
191
|
runtimeObjectLayers.push(convertObjectLayer(layer, this.tilesets, indexToRuntime));
|
|
174
192
|
}
|
|
175
|
-
|
|
193
|
+
else if (layer instanceof TiledImageLayer) {
|
|
194
|
+
runtimeImageLayers.push(new ImageLayer({
|
|
195
|
+
id: layer.id,
|
|
196
|
+
name: layer.name,
|
|
197
|
+
class: layer.class,
|
|
198
|
+
image: resolveTiledUrl(layer.image, this.source),
|
|
199
|
+
texture: this._imageTextures.get(layer.id) ?? null,
|
|
200
|
+
visible: layer.visible,
|
|
201
|
+
opacity: layer.opacity,
|
|
202
|
+
offsetX: layer.offsetX,
|
|
203
|
+
offsetY: layer.offsetY,
|
|
204
|
+
parallaxX: layer.parallaxX,
|
|
205
|
+
parallaxY: layer.parallaxY,
|
|
206
|
+
tintColor: parseTiledColor(layer.tintColor),
|
|
207
|
+
repeatX: layer.repeatX,
|
|
208
|
+
repeatY: layer.repeatY,
|
|
209
|
+
properties: convertProperties(layer.properties),
|
|
210
|
+
}));
|
|
211
|
+
}
|
|
176
212
|
}
|
|
177
213
|
};
|
|
178
214
|
convertLayers(this.layers);
|
|
@@ -185,6 +221,11 @@ class TiledMap {
|
|
|
185
221
|
tilesets: runtimeTilesets,
|
|
186
222
|
layers: runtimeLayers,
|
|
187
223
|
objectLayers: runtimeObjectLayers,
|
|
224
|
+
imageLayers: runtimeImageLayers,
|
|
225
|
+
class: this.class,
|
|
226
|
+
backgroundColor: parseTiledColor(this.backgroundColor),
|
|
227
|
+
renderOrder: this.renderOrder ?? 'right-down',
|
|
228
|
+
properties: convertProperties(this.properties),
|
|
188
229
|
});
|
|
189
230
|
}
|
|
190
231
|
/**
|
|
@@ -258,18 +299,16 @@ function convertObjectLayer(layer, tiledTilesets, indexToRuntime) {
|
|
|
258
299
|
opacity: layer.opacity,
|
|
259
300
|
offsetX: layer.offsetX,
|
|
260
301
|
offsetY: layer.offsetY,
|
|
302
|
+
drawOrder: layer.drawOrder,
|
|
261
303
|
objects,
|
|
262
304
|
properties: convertProperties(layer.properties),
|
|
263
305
|
});
|
|
264
306
|
}
|
|
265
307
|
/**
|
|
266
|
-
* Convert one `TiledObject` to a `TileMapObject`.
|
|
267
|
-
*
|
|
308
|
+
* Convert one `TiledObject` to a `TileMapObject`. Tile objects whose tileset
|
|
309
|
+
* was skipped are dropped — returns `null`.
|
|
268
310
|
*/
|
|
269
311
|
function convertObject(object, tiledTilesets, indexToRuntime) {
|
|
270
|
-
if (object.text) {
|
|
271
|
-
return null; // text objects are not represented in the data-only model
|
|
272
|
-
}
|
|
273
312
|
const base = {
|
|
274
313
|
id: object.id,
|
|
275
314
|
name: object.name,
|
|
@@ -282,6 +321,24 @@ function convertObject(object, tiledTilesets, indexToRuntime) {
|
|
|
282
321
|
visible: object.visible,
|
|
283
322
|
properties: convertProperties(object.properties),
|
|
284
323
|
};
|
|
324
|
+
if (object.text) {
|
|
325
|
+
const t = object.text;
|
|
326
|
+
const color = t.color !== undefined ? parseTiledColor(t.color) : undefined;
|
|
327
|
+
const textStyle = {
|
|
328
|
+
text: t.text,
|
|
329
|
+
...(color !== undefined && { color }),
|
|
330
|
+
...(t.fontfamily !== undefined && { fontFamily: t.fontfamily }),
|
|
331
|
+
...(t.pixelsize !== undefined && { pixelSize: t.pixelsize }),
|
|
332
|
+
...(t.bold !== undefined && { bold: t.bold }),
|
|
333
|
+
...(t.italic !== undefined && { italic: t.italic }),
|
|
334
|
+
...(t.underline !== undefined && { underline: t.underline }),
|
|
335
|
+
...(t.strikeout !== undefined && { strikeout: t.strikeout }),
|
|
336
|
+
...(t.wrap !== undefined && { wrap: t.wrap }),
|
|
337
|
+
...(t.halign !== undefined && { halign: t.halign }),
|
|
338
|
+
...(t.valign !== undefined && { valign: t.valign }),
|
|
339
|
+
};
|
|
340
|
+
return { ...base, kind: 'text', text: textStyle };
|
|
341
|
+
}
|
|
285
342
|
if (object.gid !== undefined) {
|
|
286
343
|
const tile = resolveGid(object.gid, tiledTilesets, indexToRuntime);
|
|
287
344
|
if (!tile)
|
|
@@ -304,21 +361,174 @@ function convertObject(object, tiledTilesets, indexToRuntime) {
|
|
|
304
361
|
}
|
|
305
362
|
const toPoints = (points) => points.map(p => ({ x: p.x, y: p.y }));
|
|
306
363
|
/**
|
|
307
|
-
*
|
|
308
|
-
*
|
|
364
|
+
* Parse a Tiled colour string (`#RRGGBB` or `#AARRGGBB`) into a `0xRRGGBB`
|
|
365
|
+
* integer, dropping any alpha. Returns `null` for an absent or malformed value.
|
|
366
|
+
*/
|
|
367
|
+
function parseTiledColor(value) {
|
|
368
|
+
if (value === undefined || value === '')
|
|
369
|
+
return null;
|
|
370
|
+
const hex = value.startsWith('#') ? value.slice(1) : value;
|
|
371
|
+
let rrggbb;
|
|
372
|
+
if (hex.length === 8) {
|
|
373
|
+
rrggbb = hex.slice(2); // drop leading alpha
|
|
374
|
+
}
|
|
375
|
+
else if (hex.length === 6) {
|
|
376
|
+
rrggbb = hex;
|
|
377
|
+
}
|
|
378
|
+
else {
|
|
379
|
+
return null;
|
|
380
|
+
}
|
|
381
|
+
const parsed = Number.parseInt(rrggbb, 16);
|
|
382
|
+
return Number.isNaN(parsed) ? null : parsed;
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Build runtime {@link TileDefinition}s from a Tiled tileset's per-tile data,
|
|
386
|
+
* carrying over per-tile properties, animation frames, and collision shapes
|
|
387
|
+
* (the tile's `objectgroup`). Tiles whose `id` is out of range, and animation
|
|
388
|
+
* frames referencing out-of-range local ids, are skipped so the runtime tileset
|
|
389
|
+
* never receives malformed definitions.
|
|
390
|
+
*/
|
|
391
|
+
function buildTileDefinitions(tiles, tileCount) {
|
|
392
|
+
const defs = [];
|
|
393
|
+
for (const tile of tiles) {
|
|
394
|
+
if (tile.id < 0 || tile.id >= tileCount)
|
|
395
|
+
continue;
|
|
396
|
+
const properties = tile.properties ? convertProperties(tile.properties) : undefined;
|
|
397
|
+
const hasProps = properties !== undefined && Object.keys(properties).length > 0;
|
|
398
|
+
let animation;
|
|
399
|
+
if (tile.animation && tile.animation.length > 0) {
|
|
400
|
+
const frames = tile.animation
|
|
401
|
+
.filter(frame => frame.tileid >= 0 && frame.tileid < tileCount)
|
|
402
|
+
.map(frame => ({ localTileId: frame.tileid, duration: frame.duration }));
|
|
403
|
+
if (frames.length > 0)
|
|
404
|
+
animation = frames;
|
|
405
|
+
}
|
|
406
|
+
let collision;
|
|
407
|
+
if (tile.objectgroup && tile.objectgroup.objects.length > 0) {
|
|
408
|
+
const shapes = tile.objectgroup.objects
|
|
409
|
+
.map(obj => convertCollisionObject(obj))
|
|
410
|
+
.filter((obj) => obj !== null);
|
|
411
|
+
if (shapes.length > 0)
|
|
412
|
+
collision = shapes;
|
|
413
|
+
}
|
|
414
|
+
if (!hasProps && animation === undefined && collision === undefined)
|
|
415
|
+
continue;
|
|
416
|
+
defs.push({
|
|
417
|
+
localTileId: tile.id,
|
|
418
|
+
...(hasProps && { properties }),
|
|
419
|
+
...(animation !== undefined && { animation }),
|
|
420
|
+
...(collision !== undefined && { collision }),
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
return defs;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Convert a raw `TiledObjectData` to a runtime `TileMapObject` for use as a
|
|
427
|
+
* per-tile collision shape. Text objects and tile-object (gid) references are
|
|
428
|
+
* dropped — returns `null`. Does not perform GID resolution; collision shapes
|
|
429
|
+
* in tile objectgroups are almost exclusively plain geometry.
|
|
430
|
+
*/
|
|
431
|
+
function convertCollisionObject(obj) {
|
|
432
|
+
if (obj.text)
|
|
433
|
+
return null; // text not representable as a collision shape
|
|
434
|
+
if (obj.gid !== undefined)
|
|
435
|
+
return null; // tile objects require GID resolution not available here
|
|
436
|
+
const base = {
|
|
437
|
+
id: obj.id,
|
|
438
|
+
name: obj.name,
|
|
439
|
+
type: obj.type,
|
|
440
|
+
x: obj.x,
|
|
441
|
+
y: obj.y,
|
|
442
|
+
width: obj.width,
|
|
443
|
+
height: obj.height,
|
|
444
|
+
rotation: obj.rotation,
|
|
445
|
+
visible: obj.visible,
|
|
446
|
+
properties: convertProperties(obj.properties ?? []),
|
|
447
|
+
};
|
|
448
|
+
if (obj.point === true)
|
|
449
|
+
return { ...base, kind: 'point' };
|
|
450
|
+
if (obj.ellipse === true)
|
|
451
|
+
return { ...base, kind: 'ellipse' };
|
|
452
|
+
if (obj.polygon)
|
|
453
|
+
return { ...base, kind: 'polygon', points: toPoints(obj.polygon) };
|
|
454
|
+
if (obj.polyline)
|
|
455
|
+
return { ...base, kind: 'polyline', points: toPoints(obj.polyline) };
|
|
456
|
+
return { ...base, kind: 'rectangle' };
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Project Tiled custom properties to the generic flat property bag.
|
|
460
|
+
* `object`-typed properties become a {@link TilePropertyKind.ObjectRef}
|
|
461
|
+
* (the wire value is already the referenced object's numeric id — Tiled has
|
|
462
|
+
* no LDtk-style navigation fields, so those stay `undefined`). `class`-typed
|
|
463
|
+
* properties recursively convert their nested member bag into a
|
|
464
|
+
* {@link TileProperties}.
|
|
309
465
|
*/
|
|
310
466
|
function convertProperties(properties) {
|
|
311
467
|
if (properties.length === 0)
|
|
312
468
|
return Object.freeze({});
|
|
313
469
|
const out = {};
|
|
314
470
|
for (const property of properties) {
|
|
315
|
-
const value = property
|
|
316
|
-
if (
|
|
471
|
+
const value = convertPropertyValue(property);
|
|
472
|
+
if (value !== undefined) {
|
|
317
473
|
out[property.name] = value;
|
|
318
474
|
}
|
|
319
475
|
}
|
|
320
476
|
return Object.freeze(out);
|
|
321
477
|
}
|
|
478
|
+
/** Convert one {@link TiledPropertyData} to its canonical {@link TilePropertyValue}. */
|
|
479
|
+
function convertPropertyValue(property) {
|
|
480
|
+
switch (property.type) {
|
|
481
|
+
case 'string':
|
|
482
|
+
case 'int':
|
|
483
|
+
case 'float':
|
|
484
|
+
case 'bool':
|
|
485
|
+
case 'color':
|
|
486
|
+
case 'file':
|
|
487
|
+
return property.value;
|
|
488
|
+
case 'object':
|
|
489
|
+
return { kind: TilePropertyKind.ObjectRef, id: property.value };
|
|
490
|
+
case 'class':
|
|
491
|
+
return convertClassPropertyValue(property.value, property.propertytype);
|
|
492
|
+
default: {
|
|
493
|
+
// Exhaustiveness check: if a new TiledPropertyType is ever added,
|
|
494
|
+
// `property.type` will fail to narrow to `never` here and tsc will error.
|
|
495
|
+
property.type;
|
|
496
|
+
throw new Error(`convertProperties: unrecognised Tiled property type "${property.type}".`);
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Reserved key under which a `class`-typed property's Tiled custom-class name
|
|
502
|
+
* ({@link TiledPropertyData.propertytype}, e.g. `"Stats"`) is stored inside the
|
|
503
|
+
* converted nested {@link TileProperties} bag, mirroring the `ldtkUid`/
|
|
504
|
+
* `ldtkWorldIid`-style reserved-metadata-key convention used by the LDtk
|
|
505
|
+
* adapter (`packages/exojs-ldtk/src/ldtkToTileMap.ts`). Only set on the
|
|
506
|
+
* top-level converted bag for a class-typed property that has a
|
|
507
|
+
* `propertytype` — nested-class members carry no `propertytype` of their own
|
|
508
|
+
* in Tiled's data model, so recursive calls never set it.
|
|
509
|
+
*/
|
|
510
|
+
const tiledClassNameProperty = 'tiledClassName';
|
|
511
|
+
/**
|
|
512
|
+
* Recursively convert a `class`-typed property's nested member bag into a
|
|
513
|
+
* {@link TileProperties}. Scalar members pass through; nested-class members
|
|
514
|
+
* recurse (Tiled classes may nest arbitrarily deep). When `propertytype` is
|
|
515
|
+
* given (the Tiled custom-class name), it is tagged onto the bag under the
|
|
516
|
+
* reserved {@link tiledClassNameProperty} key, applied last so it can never
|
|
517
|
+
* be clobbered by a same-named member.
|
|
518
|
+
*/
|
|
519
|
+
function convertClassPropertyValue(value, propertytype) {
|
|
520
|
+
const out = {};
|
|
521
|
+
for (const [name, member] of Object.entries(value)) {
|
|
522
|
+
out[name] =
|
|
523
|
+
typeof member === 'string' || typeof member === 'number' || typeof member === 'boolean'
|
|
524
|
+
? member
|
|
525
|
+
: convertClassPropertyValue(member);
|
|
526
|
+
}
|
|
527
|
+
if (propertytype !== undefined) {
|
|
528
|
+
out[tiledClassNameProperty] = propertytype;
|
|
529
|
+
}
|
|
530
|
+
return Object.freeze(out);
|
|
531
|
+
}
|
|
322
532
|
function sortAndValidateTilesetRanges(tilesets, source) {
|
|
323
533
|
const sorted = [...tilesets].sort((a, b) => a.firstGid - b.firstGid);
|
|
324
534
|
for (let i = 1; i < sorted.length; i++) {
|
package/dist/esm/TiledMap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TiledMap.js","sources":["../../../src/TiledMap.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TiledMap.js","sources":["../../../src/TiledMap.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Texture } from '@codexo/exojs';
|
|
2
|
-
import type { TiledPointData, TiledPropertyData, TiledTileData, TiledTilesetData } from './data';
|
|
2
|
+
import type { TiledPointData, TiledPropertyData, TiledTileData, TiledTilesetData, TiledWangSetData } from './data';
|
|
3
3
|
/**
|
|
4
4
|
* Loader-resolved resources for a {@link TiledTileset}: the absolute image
|
|
5
5
|
* URL(s) and the {@link Texture} instance(s) loaded for them. All textures
|
|
@@ -46,6 +46,8 @@ export declare class TiledTileset {
|
|
|
46
46
|
readonly tileOffset: TiledPointData;
|
|
47
47
|
readonly objectAlignment?: string | undefined;
|
|
48
48
|
readonly tiles: readonly TiledTileData[];
|
|
49
|
+
/** Wang sets (terrain/auto-tile definitions) declared on this tileset. Empty when none are defined. */
|
|
50
|
+
readonly wangSets: readonly TiledWangSetData[];
|
|
49
51
|
/** Textures loaded for collection-of-images tiles, keyed by local tile id. Loader-owned. */
|
|
50
52
|
readonly tileTextures: ReadonlyMap<number, Texture>;
|
|
51
53
|
readonly properties: readonly TiledPropertyData[];
|
package/dist/esm/TiledTileset.js
CHANGED
|
@@ -28,6 +28,8 @@ class TiledTileset {
|
|
|
28
28
|
tileOffset;
|
|
29
29
|
objectAlignment;
|
|
30
30
|
tiles;
|
|
31
|
+
/** Wang sets (terrain/auto-tile definitions) declared on this tileset. Empty when none are defined. */
|
|
32
|
+
wangSets;
|
|
31
33
|
/** Textures loaded for collection-of-images tiles, keyed by local tile id. Loader-owned. */
|
|
32
34
|
tileTextures;
|
|
33
35
|
properties;
|
|
@@ -49,6 +51,7 @@ class TiledTileset {
|
|
|
49
51
|
this.tileOffset = data.tileoffset ?? { x: 0, y: 0 };
|
|
50
52
|
this.objectAlignment = data.objectalignment;
|
|
51
53
|
this.tiles = data.tiles ?? [];
|
|
54
|
+
this.wangSets = data.wangsets ?? [];
|
|
52
55
|
this.tileTextures = resources.tileTextures ?? new Map();
|
|
53
56
|
this.properties = data.properties ?? [];
|
|
54
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TiledTileset.js","sources":["../../../src/TiledTileset.ts"],"sourcesContent":[null],"names":[],"mappings":"AAqBA;;;;;;;AAOG;MACU,YAAY,CAAA;;AAEP,IAAA,QAAQ;;AAER,IAAA,MAAM;AACN,IAAA,IAAI;AACJ,IAAA,KAAK;AACL,IAAA,SAAS;AACT,IAAA,UAAU;AACV,IAAA,SAAS;AACT,IAAA,OAAO;AACP,IAAA,OAAO;AACP,IAAA,MAAM;;AAEN,IAAA,QAAQ;AACR,IAAA,UAAU;AACV,IAAA,WAAW;;AAEX,IAAA,OAAO;AACP,IAAA,UAAU;AACV,IAAA,eAAe;AACf,IAAA,KAAK;;AAEL,IAAA,YAAY;AACZ,IAAA,UAAU;AAE1B,IAAA,WAAA,CAAmB,IAAsB,EAAE,QAAgB,EAAE,YAAmC,EAAE,EAAA;AAChG,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;AAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;AAC7B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAC/B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AACjC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACnD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,IAAI,IAAI,GAAG,EAAE;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE;IACzC;;AAGA,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;IAC3C;;AAGO,IAAA,OAAO,CAAC,OAAe,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC;IACrD;;AAGO,IAAA,WAAW,CAAC,IAAY,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC;IACjE;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"TiledTileset.js","sources":["../../../src/TiledTileset.ts"],"sourcesContent":[null],"names":[],"mappings":"AAqBA;;;;;;;AAOG;MACU,YAAY,CAAA;;AAEP,IAAA,QAAQ;;AAER,IAAA,MAAM;AACN,IAAA,IAAI;AACJ,IAAA,KAAK;AACL,IAAA,SAAS;AACT,IAAA,UAAU;AACV,IAAA,SAAS;AACT,IAAA,OAAO;AACP,IAAA,OAAO;AACP,IAAA,MAAM;;AAEN,IAAA,QAAQ;AACR,IAAA,UAAU;AACV,IAAA,WAAW;;AAEX,IAAA,OAAO;AACP,IAAA,UAAU;AACV,IAAA,eAAe;AACf,IAAA,KAAK;;AAEL,IAAA,QAAQ;;AAER,IAAA,YAAY;AACZ,IAAA,UAAU;AAE1B,IAAA,WAAA,CAAmB,IAAsB,EAAE,QAAgB,EAAE,YAAmC,EAAE,EAAA;AAChG,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;AAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;AAC7B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAC/B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AACjC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACnD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE;QACnC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,IAAI,IAAI,GAAG,EAAE;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE;IACzC;;AAGA,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;IAC3C;;AAGO,IAAA,OAAO,CAAC,OAAe,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC;IACrD;;AAGO,IAAA,WAAW,CAAC,IAAY,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC;IACjE;AACD;;;;"}
|
package/dist/esm/data.d.ts
CHANGED
|
@@ -55,6 +55,47 @@ export interface TiledTileData {
|
|
|
55
55
|
readonly imagewidth?: number | undefined;
|
|
56
56
|
readonly imageheight?: number | undefined;
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* One color (terrain) entry within a wangset's `colors` array.
|
|
60
|
+
*
|
|
61
|
+
* `tile` is the representative tile local id for this color (–1 if unset).
|
|
62
|
+
* `probability` is the relative spawn weight used by Tiled's random fill.
|
|
63
|
+
*/
|
|
64
|
+
export interface TiledWangColorData {
|
|
65
|
+
readonly name: string;
|
|
66
|
+
readonly color: string;
|
|
67
|
+
readonly tile: number;
|
|
68
|
+
readonly probability: number;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* One wang-tile entry within a wangset's `wangtiles` array.
|
|
72
|
+
*
|
|
73
|
+
* `tileid` is the local tile id within the owning tileset.
|
|
74
|
+
*
|
|
75
|
+
* `wangid` is an 8-element array of color indices (1-based; 0 = unset) whose
|
|
76
|
+
* positions correspond to (in order): top, top-right, right, bottom-right,
|
|
77
|
+
* bottom, bottom-left, left, top-left.
|
|
78
|
+
*/
|
|
79
|
+
export interface TiledWangTileData {
|
|
80
|
+
readonly tileid: number;
|
|
81
|
+
readonly wangid: readonly number[];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* A wangset entry within a tileset's `wangsets` array.
|
|
85
|
+
*
|
|
86
|
+
* `type` is `'corner'`, `'edge'`, or `'mixed'` (Tiled 1.5+). Older files may
|
|
87
|
+
* omit it or use other strings — treat unknown values as-is.
|
|
88
|
+
*
|
|
89
|
+
* `tile` is the representative tile local id for this wangset (–1 if unset).
|
|
90
|
+
*/
|
|
91
|
+
export interface TiledWangSetData {
|
|
92
|
+
readonly name: string;
|
|
93
|
+
readonly type: string;
|
|
94
|
+
readonly tile: number;
|
|
95
|
+
readonly colors: readonly TiledWangColorData[];
|
|
96
|
+
readonly wangtiles: readonly TiledWangTileData[];
|
|
97
|
+
readonly properties?: readonly TiledPropertyData[] | undefined;
|
|
98
|
+
}
|
|
58
99
|
/**
|
|
59
100
|
* A Tiled tileset, as the root of a standalone `.tsj` file or (minus
|
|
60
101
|
* `firstgid`) embedded inline in a map's `tilesets` array.
|
|
@@ -75,6 +116,7 @@ export interface TiledTilesetData {
|
|
|
75
116
|
readonly tileoffset?: TiledPointData | undefined;
|
|
76
117
|
readonly objectalignment?: string | undefined;
|
|
77
118
|
readonly tiles?: readonly TiledTileData[] | undefined;
|
|
119
|
+
readonly wangsets?: readonly TiledWangSetData[] | undefined;
|
|
78
120
|
readonly properties?: readonly TiledPropertyData[] | undefined;
|
|
79
121
|
readonly tiledversion?: string | undefined;
|
|
80
122
|
readonly version?: string | number | undefined;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decode any base64/compressed tile-layer data in a raw Tiled map document into
|
|
3
|
+
* plain GID arrays, mutating `raw` in place and returning it. Safe to call on a
|
|
4
|
+
* pure-CSV map (it does nothing). Runs before validation.
|
|
5
|
+
*
|
|
6
|
+
* @throws {TiledFormatError} On zstd/unknown compression or malformed data.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare function decodeTiledLayerData(raw: unknown, source: string): Promise<unknown>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Codec } from '@codexo/exojs';
|
|
2
|
+
import { TiledFormatError } from './validate.js';
|
|
3
|
+
|
|
4
|
+
// Pre-validation decode pass for Tiled tile-layer data.
|
|
5
|
+
//
|
|
6
|
+
// Tiled can store tile-layer GIDs as plain CSV (a JSON array), or as a base64
|
|
7
|
+
// string that is optionally gzip/zlib/zstd compressed. The rest of the pipeline
|
|
8
|
+
// (validation, `TiledMap`, `toTileMap`) only deals with the decoded `number[]`
|
|
9
|
+
// GID array, so this pass runs first — during the async load phase — and
|
|
10
|
+
// rewrites any base64/compressed `data` (and infinite-map `chunks[].data`) into
|
|
11
|
+
// plain GID arrays in place. After it runs, the document looks like a CSV map to
|
|
12
|
+
// every downstream stage, which stays synchronous and unchanged.
|
|
13
|
+
/** Read a little-endian Uint32 GID array out of a decoded byte buffer. */
|
|
14
|
+
function bytesToGids(bytes, source, path) {
|
|
15
|
+
if (bytes.length % 4 !== 0) {
|
|
16
|
+
throw new TiledFormatError(source, path, `decoded tile data length ${bytes.length} is not a multiple of 4`);
|
|
17
|
+
}
|
|
18
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
19
|
+
const count = bytes.length / 4;
|
|
20
|
+
const gids = new Array(count);
|
|
21
|
+
for (let i = 0; i < count; i++) {
|
|
22
|
+
gids[i] = view.getUint32(i * 4, true); // Tiled writes little-endian.
|
|
23
|
+
}
|
|
24
|
+
return gids;
|
|
25
|
+
}
|
|
26
|
+
/** Decode one base64 `data` string into a GID array, applying any compression. */
|
|
27
|
+
async function decodeBase64Gids(data, compression, source, path) {
|
|
28
|
+
let bytes = Codec.decodeBase64(data);
|
|
29
|
+
if (compression === 'gzip') {
|
|
30
|
+
bytes = await Codec.decompress(bytes, 'gzip');
|
|
31
|
+
}
|
|
32
|
+
else if (compression === 'zlib') {
|
|
33
|
+
bytes = await Codec.decompress(bytes, 'deflate');
|
|
34
|
+
}
|
|
35
|
+
else if (compression === 'zstd') {
|
|
36
|
+
throw new TiledFormatError(source, path, 'zstd-compressed tile data is not supported (no native decoder; re-export with gzip/zlib or uncompressed)');
|
|
37
|
+
}
|
|
38
|
+
else if (compression !== undefined && compression !== '') {
|
|
39
|
+
throw new TiledFormatError(source, path, `unsupported tile layer compression ${JSON.stringify(compression)}`);
|
|
40
|
+
}
|
|
41
|
+
return bytesToGids(bytes, source, path);
|
|
42
|
+
}
|
|
43
|
+
/** Decode a single tile layer's `data` and/or `chunks[].data` in place. */
|
|
44
|
+
async function decodeTileLayer(layer, source, path) {
|
|
45
|
+
if (layer.encoding !== 'base64') {
|
|
46
|
+
return; // CSV / plain array — nothing to decode.
|
|
47
|
+
}
|
|
48
|
+
if (typeof layer.data === 'string') {
|
|
49
|
+
layer.data = await decodeBase64Gids(layer.data, layer.compression, source, `${path}.data`);
|
|
50
|
+
}
|
|
51
|
+
if (Array.isArray(layer.chunks)) {
|
|
52
|
+
await Promise.all(layer.chunks.map(async (chunk, i) => {
|
|
53
|
+
if (typeof chunk !== 'object' || chunk === null)
|
|
54
|
+
return;
|
|
55
|
+
const c = chunk;
|
|
56
|
+
if (typeof c.data === 'string') {
|
|
57
|
+
c.data = await decodeBase64Gids(c.data, layer.compression, source, `${path}.chunks[${i}].data`);
|
|
58
|
+
}
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
// Now that data is a plain GID array, drop the encoding/compression markers so
|
|
62
|
+
// downstream validation treats it like a CSV layer.
|
|
63
|
+
delete layer.encoding;
|
|
64
|
+
delete layer.compression;
|
|
65
|
+
}
|
|
66
|
+
/** Recursively decode every tile layer under a `layers` array (groups nest). */
|
|
67
|
+
async function decodeLayers(layers, source, path) {
|
|
68
|
+
if (!Array.isArray(layers)) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
await Promise.all(layers.map(async (layer, i) => {
|
|
72
|
+
if (typeof layer !== 'object' || layer === null)
|
|
73
|
+
return;
|
|
74
|
+
const l = layer;
|
|
75
|
+
const layerPath = `${path}[${i}]`;
|
|
76
|
+
if (l.type === 'tilelayer') {
|
|
77
|
+
await decodeTileLayer(l, source, layerPath);
|
|
78
|
+
}
|
|
79
|
+
else if (l.type === 'group') {
|
|
80
|
+
await decodeLayers(l.layers, source, `${layerPath}.layers`);
|
|
81
|
+
}
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Decode any base64/compressed tile-layer data in a raw Tiled map document into
|
|
86
|
+
* plain GID arrays, mutating `raw` in place and returning it. Safe to call on a
|
|
87
|
+
* pure-CSV map (it does nothing). Runs before validation.
|
|
88
|
+
*
|
|
89
|
+
* @throws {TiledFormatError} On zstd/unknown compression or malformed data.
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
92
|
+
async function decodeTiledLayerData(raw, source) {
|
|
93
|
+
if (typeof raw === 'object' && raw !== null) {
|
|
94
|
+
await decodeLayers(raw.layers, source, 'layers');
|
|
95
|
+
}
|
|
96
|
+
return raw;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export { decodeTiledLayerData };
|
|
100
|
+
//# sourceMappingURL=decodeLayerData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decodeLayerData.js","sources":["../../../src/decodeLayerData.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -2,10 +2,11 @@ export { tiledBuildInfo } from './tiledBuildInfo.js';
|
|
|
2
2
|
export { tiledExtension } from './tiledExtension.js';
|
|
3
3
|
export { tiledMapBinding } from './tiledMapBinding.js';
|
|
4
4
|
export { tiledRuntimeMapBinding } from './tiledRuntimeMapBinding.js';
|
|
5
|
-
export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, TileMapNode, TileMapView, TileSet, tilemapExtension } from '@codexo/exojs-tilemap';
|
|
5
|
+
export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, TileMapNode, TileMapView, TileSet, WangSet, tilemapExtension } from '@codexo/exojs-tilemap';
|
|
6
6
|
export { TiledGroupLayer, TiledImageLayer, TiledLayer, TiledObjectLayer, TiledTileLayer, createTiledLayer } from './TiledLayer.js';
|
|
7
7
|
export { TiledMap } from './TiledMap.js';
|
|
8
8
|
export { TiledObject } from './TiledObject.js';
|
|
9
9
|
export { TiledTileset } from './TiledTileset.js';
|
|
10
|
+
export { tiledWangSetToWangSet } from './wangSets.js';
|
|
10
11
|
export { TiledFormatError } from './validate.js';
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
package/dist/esm/loadTiledMap.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Texture } from '@codexo/exojs';
|
|
2
|
+
import { decodeTiledLayerData } from './decodeLayerData.js';
|
|
2
3
|
import { TiledMap } from './TiledMap.js';
|
|
3
4
|
import { TiledTileset } from './TiledTileset.js';
|
|
4
5
|
import { resolveTiledUrl } from './url.js';
|
|
@@ -51,6 +52,29 @@ async function loadTiledTileset(ref, mapSource, context) {
|
|
|
51
52
|
const resources = await loadTiledTilesetResources(ref, mapSource, context);
|
|
52
53
|
return new TiledTileset(ref, ref.firstgid, resources);
|
|
53
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Recursively walks the layer tree and loads the image for every
|
|
57
|
+
* `imagelayer` encountered. Returns a `Map` keyed by layer `id` so that
|
|
58
|
+
* {@link TiledMap.toTileMap} can attach the pre-loaded {@link Texture} to each
|
|
59
|
+
* runtime image layer without performing additional I/O.
|
|
60
|
+
*/
|
|
61
|
+
async function loadImageLayerTextures(layers, mapSource, context) {
|
|
62
|
+
const result = new Map();
|
|
63
|
+
for (const layer of layers) {
|
|
64
|
+
if (layer.type === 'imagelayer' && layer.image) {
|
|
65
|
+
const imageUrl = resolveTiledUrl(layer.image, mapSource);
|
|
66
|
+
const texture = await context.loader.load(Texture, imageUrl);
|
|
67
|
+
result.set(layer.id, texture);
|
|
68
|
+
}
|
|
69
|
+
else if (layer.type === 'group') {
|
|
70
|
+
const nested = await loadImageLayerTextures(layer.layers, mapSource, context);
|
|
71
|
+
for (const [id, tex] of nested) {
|
|
72
|
+
result.set(id, tex);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
54
78
|
/**
|
|
55
79
|
* Loads and resolves a Tiled map: fetches and validates the `.tmj`, resolves
|
|
56
80
|
* each tileset (external `.tsj` or embedded) and its image(s), and returns
|
|
@@ -59,9 +83,15 @@ async function loadTiledTileset(ref, mapSource, context) {
|
|
|
59
83
|
*/
|
|
60
84
|
async function loadTiledMap(source, context) {
|
|
61
85
|
const raw = await context.fetchJson(source);
|
|
86
|
+
// Decode any base64/gzip/zlib tile-layer data into plain GID arrays before
|
|
87
|
+
// validation, so the rest of the pipeline stays CSV-shaped and synchronous.
|
|
88
|
+
await decodeTiledLayerData(raw, source);
|
|
62
89
|
const data = validateTiledMapData(raw, source);
|
|
63
|
-
const tilesets = await Promise.all(
|
|
64
|
-
|
|
90
|
+
const [tilesets, imageTextures] = await Promise.all([
|
|
91
|
+
Promise.all(data.tilesets.map(ref => loadTiledTileset(ref, source, context))),
|
|
92
|
+
loadImageLayerTextures(data.layers, source, context),
|
|
93
|
+
]);
|
|
94
|
+
return new TiledMap(source, data, tilesets, imageTextures);
|
|
65
95
|
}
|
|
66
96
|
|
|
67
97
|
export { loadTiledMap };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadTiledMap.js","sources":["../../../src/loadTiledMap.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loadTiledMap.js","sources":["../../../src/loadTiledMap.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/esm/public.d.ts
CHANGED
|
@@ -5,15 +5,16 @@ export { tiledBuildInfo } from './tiledBuildInfo';
|
|
|
5
5
|
export { tiledExtension } from './tiledExtension';
|
|
6
6
|
export { tiledMapBinding } from './tiledMapBinding';
|
|
7
7
|
export { tiledRuntimeMapBinding } from './tiledRuntimeMapBinding';
|
|
8
|
-
export type { ChunkCoord, EllipseObject, ObjectLayerOptions, ObjectPoint, ObjectQuery, PackedTile, PointObject, PolygonObject, PolylineObject, ReadonlyTileChunk, RectangleObject, ResolvedTile, TileDefinition, TileLayerNodeOptions, TileLayerOptions, TileLayerSelector, TileMapBandDefinition, TileMapNodeOptions, TileMapObject, TileMapObjectKind, TileMapOptions, TileMapViewOptions, TileObject, TileProperties, TilePropertyValue, TileSetOptions, TileTransform, } from '@codexo/exojs-tilemap';
|
|
9
|
-
export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, tilemapExtension, TileMapNode, TileMapView, TileSet, } from '@codexo/exojs-tilemap';
|
|
10
|
-
export type { TiledAnimationFrameData, TiledChunkData, TiledClassPropertyValueData, TiledEmbeddedTilesetRefData, TiledExternalTilesetRefData, TiledGroupLayerData, TiledImageLayerData, TiledLayerData, TiledLayerDataBase, TiledMapData, TiledObjectData, TiledObjectLayerData, TiledOrientation, TiledPointData, TiledPropertyData, TiledPropertyType, TiledRenderOrder, TiledTextData, TiledTileData, TiledTileLayerData, TiledTilesetData, TiledTilesetRefData, } from './data';
|
|
8
|
+
export type { ChunkCoord, EllipseObject, ObjectLayerOptions, ObjectPoint, ObjectQuery, PackedTile, PointObject, PolygonObject, PolylineObject, ReadonlyTileChunk, RectangleObject, ResolvedTile, TileDefinition, TileLayerNodeOptions, TileLayerOptions, TileLayerSelector, TileMapBandDefinition, TileMapNodeOptions, TileMapObject, TileMapObjectKind, TileMapOptions, TileMapViewOptions, TileObject, TileProperties, TilePropertyValue, TileSetOptions, TileTransform, WangSetOptions, } from '@codexo/exojs-tilemap';
|
|
9
|
+
export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, tilemapExtension, TileMapNode, TileMapView, TileSet, WangSet, } from '@codexo/exojs-tilemap';
|
|
10
|
+
export type { TiledAnimationFrameData, TiledChunkData, TiledClassPropertyValueData, TiledEmbeddedTilesetRefData, TiledExternalTilesetRefData, TiledGroupLayerData, TiledImageLayerData, TiledLayerData, TiledLayerDataBase, TiledMapData, TiledObjectData, TiledObjectLayerData, TiledOrientation, TiledPointData, TiledPropertyData, TiledPropertyType, TiledRenderOrder, TiledTextData, TiledTileData, TiledTileLayerData, TiledTilesetData, TiledTilesetRefData, TiledWangColorData, TiledWangSetData, TiledWangTileData, } from './data';
|
|
11
11
|
export type { TiledLayerType } from './TiledLayer';
|
|
12
12
|
export { createTiledLayer, TiledGroupLayer, TiledImageLayer, TiledLayer, TiledObjectLayer, TiledTileLayer, } from './TiledLayer';
|
|
13
13
|
export { TiledMap } from './TiledMap';
|
|
14
14
|
export { TiledObject } from './TiledObject';
|
|
15
15
|
export type { TiledTilesetResources } from './TiledTileset';
|
|
16
16
|
export { TiledTileset } from './TiledTileset';
|
|
17
|
+
export { tiledWangSetToWangSet } from './wangSets';
|
|
17
18
|
export { TiledFormatError } from './validate';
|
|
18
19
|
import type { TileMap } from '@codexo/exojs-tilemap';
|
|
19
20
|
import type { TiledMap } from './TiledMap';
|
package/dist/esm/register.js
CHANGED
|
@@ -3,11 +3,12 @@ import { tiledExtension } from './tiledExtension.js';
|
|
|
3
3
|
export { tiledBuildInfo } from './tiledBuildInfo.js';
|
|
4
4
|
export { tiledMapBinding } from './tiledMapBinding.js';
|
|
5
5
|
export { tiledRuntimeMapBinding } from './tiledRuntimeMapBinding.js';
|
|
6
|
-
export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, TileMapNode, TileMapView, TileSet, tilemapExtension } from '@codexo/exojs-tilemap';
|
|
6
|
+
export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, TileMapNode, TileMapView, TileSet, WangSet, tilemapExtension } from '@codexo/exojs-tilemap';
|
|
7
7
|
export { TiledGroupLayer, TiledImageLayer, TiledLayer, TiledObjectLayer, TiledTileLayer, createTiledLayer } from './TiledLayer.js';
|
|
8
8
|
export { TiledMap } from './TiledMap.js';
|
|
9
9
|
export { TiledObject } from './TiledObject.js';
|
|
10
10
|
export { TiledTileset } from './TiledTileset.js';
|
|
11
|
+
export { tiledWangSetToWangSet } from './wangSets.js';
|
|
11
12
|
export { TiledFormatError } from './validate.js';
|
|
12
13
|
|
|
13
14
|
// @codexo/exojs-tiled/register — explicit registration entry.
|
package/dist/esm/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sources":["../../../src/register.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"register.js","sources":["../../../src/register.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAMA,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC;;;;"}
|
package/dist/esm/validate.js
CHANGED
|
@@ -282,6 +282,10 @@ function validateTiledChunkData(raw, source, path) {
|
|
|
282
282
|
};
|
|
283
283
|
}
|
|
284
284
|
function validateTiledTileLayerData(obj, base, source, path) {
|
|
285
|
+
// Validation runs AFTER the async decode pass (`decodeLayerData.ts`), which
|
|
286
|
+
// turns base64/gzip/zlib `data` into a plain GID array and strips these
|
|
287
|
+
// markers. Reaching here with them still set means the data was not decoded
|
|
288
|
+
// (e.g. validate was called directly) — reject rather than mis-parse.
|
|
285
289
|
if (obj.compression !== undefined) {
|
|
286
290
|
throw new TiledFormatError(source, joinPath(path, 'compression'), `compressed tile layer data is not supported (compression: ${JSON.stringify(obj.compression)})`);
|
|
287
291
|
}
|
|
@@ -404,6 +408,37 @@ function validateTiledTileData(raw, source, path) {
|
|
|
404
408
|
imageheight: optionalNonNegativeInteger(obj, 'imageheight', source, path),
|
|
405
409
|
};
|
|
406
410
|
}
|
|
411
|
+
// ── Wangsets ─────────────────────────────────────────────────────────────────
|
|
412
|
+
function validateTiledWangColorData(raw, source, path) {
|
|
413
|
+
const obj = expectObject(raw, source, path);
|
|
414
|
+
return {
|
|
415
|
+
name: expectString(obj.name, source, joinPath(path, 'name')),
|
|
416
|
+
color: expectString(obj.color, source, joinPath(path, 'color')),
|
|
417
|
+
tile: expectInteger(obj.tile, source, joinPath(path, 'tile')),
|
|
418
|
+
probability: expectNumber(obj.probability, source, joinPath(path, 'probability')),
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
function validateTiledWangTileData(raw, source, path) {
|
|
422
|
+
const obj = expectObject(raw, source, path);
|
|
423
|
+
const tileid = expectNonNegativeInteger(obj.tileid, source, joinPath(path, 'tileid'));
|
|
424
|
+
const wangid = mapArray(obj.wangid, source, joinPath(path, 'wangid'), (item, itemPath) => expectNonNegativeInteger(item, source, itemPath));
|
|
425
|
+
return { tileid, wangid };
|
|
426
|
+
}
|
|
427
|
+
function validateTiledWangSetData(raw, source, path) {
|
|
428
|
+
const obj = expectObject(raw, source, path);
|
|
429
|
+
return {
|
|
430
|
+
name: expectString(obj.name, source, joinPath(path, 'name')),
|
|
431
|
+
// type is accepted as any string — unknown values are treated as-is per spec
|
|
432
|
+
type: expectString(obj.type, source, joinPath(path, 'type')),
|
|
433
|
+
tile: expectInteger(obj.tile, source, joinPath(path, 'tile')),
|
|
434
|
+
colors: mapArray(obj.colors, source, joinPath(path, 'colors'), (item, itemPath) => validateTiledWangColorData(item, source, itemPath)),
|
|
435
|
+
wangtiles: mapArray(obj.wangtiles, source, joinPath(path, 'wangtiles'), (item, itemPath) => validateTiledWangTileData(item, source, itemPath)),
|
|
436
|
+
properties: validateTiledPropertiesArray(obj.properties, source, joinPath(path, 'properties')),
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
function validateTiledWangSets(value, source, path) {
|
|
440
|
+
return optionalMapArray(value, source, path, (item, itemPath) => validateTiledWangSetData(item, source, itemPath));
|
|
441
|
+
}
|
|
407
442
|
// ── Tilesets ─────────────────────────────────────────────────────────────────
|
|
408
443
|
function validateTiledVersion(value, source, path) {
|
|
409
444
|
if (typeof value !== 'string' && typeof value !== 'number') {
|
|
@@ -428,6 +463,7 @@ function validateTiledTilesetData(obj, source, path) {
|
|
|
428
463
|
tileoffset: obj.tileoffset === undefined ? undefined : validateTiledPointData(obj.tileoffset, source, joinPath(path, 'tileoffset')),
|
|
429
464
|
objectalignment: optionalString(obj, 'objectalignment', source, path),
|
|
430
465
|
tiles: optionalMapArray(obj.tiles, source, joinPath(path, 'tiles'), (item, itemPath) => validateTiledTileData(item, source, itemPath)),
|
|
466
|
+
wangsets: validateTiledWangSets(obj.wangsets, source, joinPath(path, 'wangsets')),
|
|
431
467
|
properties: validateTiledPropertiesArray(obj.properties, source, joinPath(path, 'properties')),
|
|
432
468
|
tiledversion: optionalString(obj, 'tiledversion', source, path),
|
|
433
469
|
version: obj.version === undefined ? undefined : validateTiledVersion(obj.version, source, joinPath(path, 'version')),
|
package/dist/esm/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sources":["../../../src/validate.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sources":["../../../src/validate.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { WangSet } from '@codexo/exojs-tilemap';
|
|
2
|
+
import type { TiledWangSetData } from './data';
|
|
3
|
+
/**
|
|
4
|
+
* Best-effort conversion of a {@link TiledWangSetData} to a runtime
|
|
5
|
+
* {@link WangSet} from `@codexo/exojs-tilemap`.
|
|
6
|
+
*
|
|
7
|
+
* ## Supported types
|
|
8
|
+
*
|
|
9
|
+
* - **`'corner'`** — Maps the four corner positions of each `wangtile` to the
|
|
10
|
+
* four corner bits of the 8-bit blob mask and returns a `WangSet` of type
|
|
11
|
+
* `'blob'`. Only color index `> 0` in the Tiled wangid is treated as "this
|
|
12
|
+
* terrain"; color index `0` means unset (not this terrain).
|
|
13
|
+
*
|
|
14
|
+
* Tiled corner wangid position → WangSet blob bit mapping:
|
|
15
|
+
* - `wangid[7]` (top-left) → bit 0 (value 1)
|
|
16
|
+
* - `wangid[1]` (top-right) → bit 2 (value 4)
|
|
17
|
+
* - `wangid[5]` (bottom-left) → bit 5 (value 32)
|
|
18
|
+
* - `wangid[3]` (bottom-right) → bit 7 (value 128)
|
|
19
|
+
*
|
|
20
|
+
* This is a best-effort conversion accurate for the common **single-color**
|
|
21
|
+
* corner terrain (blob-style). Multi-color terrains are accepted but only
|
|
22
|
+
* the presence/absence of any color (> 0 = set) is used; which specific
|
|
23
|
+
* color is set is ignored.
|
|
24
|
+
*
|
|
25
|
+
* - **`'edge'`** — Maps the four edge positions to the 4-bit edge mask and
|
|
26
|
+
* returns a `WangSet` of type `'edge'`.
|
|
27
|
+
*
|
|
28
|
+
* Tiled edge wangid position → WangSet edge bit mapping:
|
|
29
|
+
* - `wangid[0]` (top) → bit 0 (value 1)
|
|
30
|
+
* - `wangid[2]` (right) → bit 1 (value 2)
|
|
31
|
+
* - `wangid[4]` (bottom) → bit 2 (value 4)
|
|
32
|
+
* - `wangid[6]` (left) → bit 3 (value 8)
|
|
33
|
+
*
|
|
34
|
+
* - **`'mixed'` / unknown** — Returns `null`; mixed wangsets interleave corner
|
|
35
|
+
* and edge semantics in a way that cannot be faithfully represented by
|
|
36
|
+
* a single blob or edge mask without additional heuristics.
|
|
37
|
+
*
|
|
38
|
+
* @param wangSet The raw {@link TiledWangSetData} parsed from a `.tsj` file.
|
|
39
|
+
* @param tilesetIndex The index of the owning tileset within the layer's
|
|
40
|
+
* tileset list (forwarded to {@link WangSet} as-is).
|
|
41
|
+
* @returns A {@link WangSet}, or `null` when the wangset type is unsupported.
|
|
42
|
+
*/
|
|
43
|
+
export declare function tiledWangSetToWangSet(wangSet: TiledWangSetData, tilesetIndex: number): WangSet | null;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { WangSet } from '@codexo/exojs-tilemap';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Best-effort conversion of a {@link TiledWangSetData} to a runtime
|
|
5
|
+
* {@link WangSet} from `@codexo/exojs-tilemap`.
|
|
6
|
+
*
|
|
7
|
+
* ## Supported types
|
|
8
|
+
*
|
|
9
|
+
* - **`'corner'`** — Maps the four corner positions of each `wangtile` to the
|
|
10
|
+
* four corner bits of the 8-bit blob mask and returns a `WangSet` of type
|
|
11
|
+
* `'blob'`. Only color index `> 0` in the Tiled wangid is treated as "this
|
|
12
|
+
* terrain"; color index `0` means unset (not this terrain).
|
|
13
|
+
*
|
|
14
|
+
* Tiled corner wangid position → WangSet blob bit mapping:
|
|
15
|
+
* - `wangid[7]` (top-left) → bit 0 (value 1)
|
|
16
|
+
* - `wangid[1]` (top-right) → bit 2 (value 4)
|
|
17
|
+
* - `wangid[5]` (bottom-left) → bit 5 (value 32)
|
|
18
|
+
* - `wangid[3]` (bottom-right) → bit 7 (value 128)
|
|
19
|
+
*
|
|
20
|
+
* This is a best-effort conversion accurate for the common **single-color**
|
|
21
|
+
* corner terrain (blob-style). Multi-color terrains are accepted but only
|
|
22
|
+
* the presence/absence of any color (> 0 = set) is used; which specific
|
|
23
|
+
* color is set is ignored.
|
|
24
|
+
*
|
|
25
|
+
* - **`'edge'`** — Maps the four edge positions to the 4-bit edge mask and
|
|
26
|
+
* returns a `WangSet` of type `'edge'`.
|
|
27
|
+
*
|
|
28
|
+
* Tiled edge wangid position → WangSet edge bit mapping:
|
|
29
|
+
* - `wangid[0]` (top) → bit 0 (value 1)
|
|
30
|
+
* - `wangid[2]` (right) → bit 1 (value 2)
|
|
31
|
+
* - `wangid[4]` (bottom) → bit 2 (value 4)
|
|
32
|
+
* - `wangid[6]` (left) → bit 3 (value 8)
|
|
33
|
+
*
|
|
34
|
+
* - **`'mixed'` / unknown** — Returns `null`; mixed wangsets interleave corner
|
|
35
|
+
* and edge semantics in a way that cannot be faithfully represented by
|
|
36
|
+
* a single blob or edge mask without additional heuristics.
|
|
37
|
+
*
|
|
38
|
+
* @param wangSet The raw {@link TiledWangSetData} parsed from a `.tsj` file.
|
|
39
|
+
* @param tilesetIndex The index of the owning tileset within the layer's
|
|
40
|
+
* tileset list (forwarded to {@link WangSet} as-is).
|
|
41
|
+
* @returns A {@link WangSet}, or `null` when the wangset type is unsupported.
|
|
42
|
+
*/
|
|
43
|
+
function tiledWangSetToWangSet(wangSet, tilesetIndex) {
|
|
44
|
+
if (wangSet.type === 'corner') {
|
|
45
|
+
return convertCornerWangSet(wangSet, tilesetIndex);
|
|
46
|
+
}
|
|
47
|
+
if (wangSet.type === 'edge') {
|
|
48
|
+
return convertEdgeWangSet(wangSet, tilesetIndex);
|
|
49
|
+
}
|
|
50
|
+
// 'mixed' or any unknown type cannot be faithfully mapped.
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
// ── Corner → blob ─────────────────────────────────────────────────────────────
|
|
54
|
+
//
|
|
55
|
+
// Tiled corner wangid positions (indices into the 8-element wangid array):
|
|
56
|
+
// Index order: [top(0), topright(1), right(2), bottomright(3), bottom(4), bottomleft(5), left(6), topleft(7)]
|
|
57
|
+
//
|
|
58
|
+
// WangSet blob bitmask values (bit layout: bit0=TL, bit1=T, bit2=TR, bit3=L, bit4=R, bit5=BL, bit6=B, bit7=BR):
|
|
59
|
+
// topleft → wangid[7] → blob bit 0 (value 1)
|
|
60
|
+
// topright → wangid[1] → blob bit 2 (value 4)
|
|
61
|
+
// bottomleft → wangid[5] → blob bit 5 (value 32)
|
|
62
|
+
// bottomright → wangid[3] → blob bit 7 (value 128)
|
|
63
|
+
const cornerIndexTopLeft = 7;
|
|
64
|
+
const cornerIndexTopRight = 1;
|
|
65
|
+
const cornerIndexBottomRight = 3;
|
|
66
|
+
const cornerIndexBottomLeft = 5;
|
|
67
|
+
const blobBitTopLeft = 1; // bit 0
|
|
68
|
+
const blobBitTopRight = 4; // bit 2
|
|
69
|
+
const blobBitBottomLeft = 32; // bit 5
|
|
70
|
+
const blobBitBottomRight = 128; // bit 7
|
|
71
|
+
function convertCornerWangSet(wangSet, tilesetIndex) {
|
|
72
|
+
const blobMap = new Map();
|
|
73
|
+
for (const wangTile of wangSet.wangtiles) {
|
|
74
|
+
const id = wangTile.wangid;
|
|
75
|
+
let mask = 0;
|
|
76
|
+
if ((id[cornerIndexTopLeft] ?? 0) > 0)
|
|
77
|
+
mask |= blobBitTopLeft;
|
|
78
|
+
if ((id[cornerIndexTopRight] ?? 0) > 0)
|
|
79
|
+
mask |= blobBitTopRight;
|
|
80
|
+
if ((id[cornerIndexBottomLeft] ?? 0) > 0)
|
|
81
|
+
mask |= blobBitBottomLeft;
|
|
82
|
+
if ((id[cornerIndexBottomRight] ?? 0) > 0)
|
|
83
|
+
mask |= blobBitBottomRight;
|
|
84
|
+
// Last writer wins when two wangtiles produce the same mask
|
|
85
|
+
// (shouldn't happen in well-formed data, but be lenient).
|
|
86
|
+
blobMap.set(mask, wangTile.tileid);
|
|
87
|
+
}
|
|
88
|
+
return new WangSet({ tilesetIndex, blobMap, type: 'blob' });
|
|
89
|
+
}
|
|
90
|
+
// ── Edge → edge ───────────────────────────────────────────────────────────────
|
|
91
|
+
//
|
|
92
|
+
// Tiled edge wangid positions:
|
|
93
|
+
// Index order: [top(0), topright(1), right(2), bottomright(3), bottom(4), bottomleft(5), left(6), topleft(7)]
|
|
94
|
+
//
|
|
95
|
+
// WangSet edge bitmask values (bit layout: bit0=T, bit1=R, bit2=B, bit3=L):
|
|
96
|
+
// top → wangid[0] → edge bit 0 (value 1)
|
|
97
|
+
// right → wangid[2] → edge bit 1 (value 2)
|
|
98
|
+
// bottom → wangid[4] → edge bit 2 (value 4)
|
|
99
|
+
// left → wangid[6] → edge bit 3 (value 8)
|
|
100
|
+
const edgeIndexTop = 0;
|
|
101
|
+
const edgeIndexRight = 2;
|
|
102
|
+
const edgeIndexBottom = 4;
|
|
103
|
+
const edgeIndexLeft = 6;
|
|
104
|
+
const edgeBitTop = 1; // bit 0
|
|
105
|
+
const edgeBitRight = 2; // bit 1
|
|
106
|
+
const edgeBitBottom = 4; // bit 2
|
|
107
|
+
const edgeBitLeft = 8; // bit 3
|
|
108
|
+
function convertEdgeWangSet(wangSet, tilesetIndex) {
|
|
109
|
+
const blobMap = new Map();
|
|
110
|
+
for (const wangTile of wangSet.wangtiles) {
|
|
111
|
+
const id = wangTile.wangid;
|
|
112
|
+
let mask = 0;
|
|
113
|
+
if ((id[edgeIndexTop] ?? 0) > 0)
|
|
114
|
+
mask |= edgeBitTop;
|
|
115
|
+
if ((id[edgeIndexRight] ?? 0) > 0)
|
|
116
|
+
mask |= edgeBitRight;
|
|
117
|
+
if ((id[edgeIndexBottom] ?? 0) > 0)
|
|
118
|
+
mask |= edgeBitBottom;
|
|
119
|
+
if ((id[edgeIndexLeft] ?? 0) > 0)
|
|
120
|
+
mask |= edgeBitLeft;
|
|
121
|
+
blobMap.set(mask, wangTile.tileid);
|
|
122
|
+
}
|
|
123
|
+
return new WangSet({ tilesetIndex, blobMap, type: 'edge' });
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export { tiledWangSetToWangSet };
|
|
127
|
+
//# sourceMappingURL=wangSets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wangSets.js","sources":["../../../src/wangSets.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codexo/exojs-tiled",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Tiled map format asset extension for ExoJS.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -33,14 +33,14 @@
|
|
|
33
33
|
"LICENSE"
|
|
34
34
|
],
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"@codexo/exojs": "0.
|
|
36
|
+
"@codexo/exojs": "0.15.x"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@codexo/exojs-tilemap": "0.
|
|
39
|
+
"@codexo/exojs-tilemap": "0.15.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@codexo/exojs": "0.
|
|
43
|
-
"@codexo/exojs
|
|
42
|
+
"@codexo/exojs-config": "0.0.0",
|
|
43
|
+
"@codexo/exojs": "0.15.0"
|
|
44
44
|
},
|
|
45
45
|
"license": "MIT",
|
|
46
46
|
"publishConfig": {
|