How to resolve object tile images in TMX

Hey.
I’m banging my head against the wall and the docs are very spare about the actual mechanism behind the GID magic.

Given I have the isometric map:

<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.11.0" orientation="isometric" renderorder="right-down" width="10" height="10" tilewidth="128" tileheight="64" infinite="0" nextlayerid="4" nextobjectid="6">
 <tileset firstgid="1" source="Isometric128.tsx"/>
 <layer id="1" name="Tiles" width="10" height="10" locked="1">
  <data encoding="csv">
8,8,8,8,8,8,8,8,8,8,
8,5,5,5,5,7,7,7,7,8,
8,5,7,7,7,7,7,7,7,8,
8,5,5,7,7,7,7,7,7,8,
8,7,7,7,7,7,7,3,7,8,
8,7,7,7,7,8,5,7,7,8,
8,7,7,7,7,8,5,7,7,8,
8,7,7,7,7,8,5,7,7,8,
8,7,7,7,7,8,7,7,7,8,
8,8,8,8,8,8,8,8,8,8
</data>
 </layer>
 <objectgroup id="2" name="Objects">
  <object id="2" template="templates/StartPositionTile.tx" name="Start2" type="Start2" x="128" y="448"/>
  <object id="5" template="templates/StartPositionTile.tx" type="Start" x="128" y="320"/>
  <object id="4" name="Caca" type="Poop" gid="6" x="192" y="256" width="128" height="128"/>
 </objectgroup>
</map>

And a tileset:

<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.10" tiledversion="1.11.0" name="Isometric128" tilewidth="128" tileheight="128" tilecount="6" columns="0">
 <grid orientation="orthogonal" width="1" height="1"/>
 <tile id="0">
  <image source="../../assets/characters/robot_e_lg.png" width="128" height="97"/>
 </tile>
 <tile id="2">
  <image source="../../assets/tiles/wall1_lg.png" width="128" height="128"/>
 </tile>
 <tile id="4">
  <image source="../../assets/tiles/grass1_lg.png" width="128" height="64"/>
 </tile>
 <tile id="5">
  <image source="../../assets/tiles/wall2_lg.png" width="128" height="128"/>
 </tile>
 <tile id="6">
  <image source="../../assets/tiles/grass2_lg.png" width="128" height="64"/>
 </tile>
 <tile id="7">
  <image source="../../assets/tiles/wall3_lg.png" width="128" height="128"/>
 </tile>
</tileset>

And an object template:

<?xml version="1.0" encoding="UTF-8"?>
<template>
 <tileset firstgid="1" source="../Isometric128.tsx"/>
 <object name="Start" type="Start" gid="1" width="128" height="97"/>
</template>

All 3 objects are images from tiles.

How is one supposed to figure out which tile maps to which object?

Thanks :slight_smile:

The documentation for this is at Global Tile IDs — Tiled 1.11.0 documentation.

In short, if your tileset has firstgid="1", then the tile with id="0" will have global ID 1 (1+0). So your object template with gid="1" is referring to tile 0 from your tileset.