Notes de Version de TMX

Les changements et additions qui ont été effectués au format Format de Carte TMX pour les versions récentes de Tiled sont décrits ci-dessous.

Tiled 1.12

  • Added mode attribute on <layer> to specific its blend mode.

  • Added oblique to the supported values for the orientation attribute on the <map> element, along with the skewx and skewy attributes for configuring the per-row/column skew in pixels.

  • Added capsule object shape. Same parameters as rectangular objects, but marked as capsule with a child element:

    <object name="..." x="..." y="...">
      <capsule/>
    </object>
    
  • Added opacity attribute to <object> to specificy its opacity.

Tiled 1.10

  • Renommage de l’attribut class sur <tile> et <object> en type, pour conserver la compatibilité avec Tiled 1.8 et avant. L’attribut reste class pour d’autres éléments car il ne pouvait pas être renommé type partout.

Tiled 1.9

  • Renommage de l’attribut type sur <tile> et <object> en class.

  • Ajout de l’attribut class à <map>, <tileset>, <layer>, <imagelayer>, <objectgroup>, <group>, <wangset> et <wangcolor>.

  • Ajout des attributs x, y, width et height à l’élément <tile>, qui stocke le sous-rectangle de l’image d’une tuile qui sert à représenter cette tuile. Par défaut, l’image entière est utilisée.

  • Ajout des attributs tilerendersize et fillmode à l’élément <tileset>, ce qui affecte la façon dont les tuiles sont rendues.

Tiled 1.8

  • Ajout du support pour la personnalisation par l’utilisateur des types de propriétés. Une référence au type est sauvegardée en tant que le nouvel attribut propertytype de l’élément tmx-property.

  • L’élément tmx-property`peut maintenant contenir un élément :ref:`tmx-properties, dans le cas où la valeur de la propriété est une classe et au moins une valeur membre a été mise. L’attribut type aura la nouvelle valeur class.

  • Ajout des attributs parallaxoriginx et parallaxoriginy à l’élément tmx-map.

  • Ajout des attributs repeatx et repeaty à l’élément <imagelayer>.

Tiled 1.7

  • Les éléments tuiles d’un jeu de tuiles dans un jeu de tuiles ne sont plus sauvegardés avec un ID incrémental. Ils sont maintenant sauvegardé dans l’ordre d’affichage, ce qui peut être configuré dans Tiled.

Tiled 1.5

  • Les couleurs qui font partie d’une collection Wang ne sont plus séparées en couleurs de coins et de contours. À la place, il y a maintenant un seul élément couleur Wang pour définir une couleur Wang. Ce nouvel élément stocke aussi les propriétés.

  • L’attribut wangid de l’élément tuile Wang est maintenant stocké en tant qu’une liste de valeurs séparées par des virgules, plutôt qu’un nombre en 32-bits non-signé dans un format hexadécimal. C’est parce que le nombre de couleurs supportées dans une collection Wang a été augmenté de 15 à 255.

  • Les transformations valides des tuiles d’une collection (inversion, rotation) sont spécifiées dans un élément transformations de jeu de tuiles. Le support partiel des attributs vflip, hflip et dflip de l’élément tuile Wang a été enlevé.

  • L’élément collection Wang a remplacé l’élément type de terrain qui est maintenant déprécié.

  • Ajout des attributs parallaxx et parallaxy aux éléments <tmx-layer>, <tmx-objectgroup>, <tmx-imagelayer> et <tmx-group>.

Tiled 1.4

  • Ajout de l’attribut objectalignment à l’élément jeu de tuiles, qui permet au jeu de tuiles de contrôler l’alignement utilisé pour les objets tuiles.

  • Ajout de l’attribut tintcolor aux éléments calque, groupe d’objets, calque d’images et groupe, ce qui permet d’ajouter de nombreux effets graphiques tel que l’assombrissement ou la coloration d’un calque.

  • Ajout d’un nouveau type de propriété object, qui réfère à un :ref:`objet <tmx-object>`par son ID.

Tiled 1.3

  • Ajout d’un élément options de l’éditeur, qui est utilisé pour stocker des options spécifiques à l’éditeur qui sont généralement inutiles lors du chargement d’une carte.

  • Ajout du support pour la compression en Zstandard pour les données d’un calque de tuiles (compression="zstd" pour les éléments données).

  • Ajout de l’attribut compressionlevel à l’élément carte, qui stocke le niveau de compression à utiliser pour les données des calques de tuiles.

Tiled 1.2.1

  • Les objets de texte peuvent maintenant avoir un alignement horizontal sauvegardé en tant que justify. Cette option existait dans l’UI auparavant mais elle n’était pas sauvegardée proprement.

Tiled 1.2

  • Ajout de l’attribut id aux éléments calque, groupe d’objets, calque d’images et groupe, qui stocke un ID unique par carte pour cet objet.

  • Ajout de l’attribut nextlayerid à l’élément carte qui stocke le prochain ID disponible pour les nouveaux calques. Ce nombre est stocké pour prévenir la réutilisation du même ID après que des calques aient été supprimés.

Tiled 1.1

  • Ajout d’un attribut map.infinite, qui indique si la carte est considérée sans bords. Les données des calques de tuiles pour les cartes infinies sont stockées en tant qu’échantillons.

  • Un nouvel élément échantillon a été ajouté pour les cartes infinies qui contiennent un contenu proche de données, mis à part le fait qu’il stocke les données de l’aire spécifiée par ses attributs x, y, width et height.

  • Des modèles ont été ajoutés, un modèle est un fichier externe référencé par des objets d’instance de modèle :

    <object id="3" template="diamond.tx" x="200" y="100"/>
    
  • Les jeux de tuiles peuvent maintenant contenir des Collections de Terrain. Elles sont sauvegardées dans le nouvel élément collection Wang.

  • Un nouvel élément enfant point a été ajouté à l’élément objet, qui annote les objets points. Les objets points n’ont ni taille ni orientation.

Tiled 1.0

  • Un nouveau élément groupe a été ajouté, qui est un groupe de calques qui peut avoir d’autres calques en tant qu’éléments fils. Cela veut dire que les calques forment maintenant une hiérarchie.

  • Ajout d’objets texte, identifié par un nouvel élément texte qui est utilisé en tant qu’enfant de l’élément objet.

  • Ajout de l’attribut tile.type pour le support de types de tuiles.

Tiled 0.18

Aucun changement de format de fichier.

Tiled 0.17

  • Ajout de color et file comme valeurs possibles pour l’attribut property.type.

  • Ajout du support d’édition de chaînes de caractères de plusieurs lignes, qui sont écrites différemment.

Tiled 0.16

  • L’élément propriété a gagné un attribut type qui stocke le type de la valeur. Les types couramment supportés sont string (par défaut), int, float et bool.

Tiled 0.15

  • Les attributs offsetx et offsety sont maintenant utilisés pour les éléments calque d’images, ce qui remplace les attributs x et y utilisés précédemment. Ce changement a été effectué pour garder une consistance entre les différents types de calques.

  • Les tuiles d’un jeu de tuiles de collection d’images ne sont plus certainement consécutives, car la suppression de tuiles de la collection ne changera plus l’ID des autres tuiles.

  • Les formats de calques de tuiles en XML pur et en Gzip compressé sont devenus obsolètes car ils n’avaient aucun avantage sur les autres formats. Les formats de données de calque restants sont le CSV, le Base64 et le Zlib compressé.

  • Ajout de l’attribut columns à l’élément jeu de tuiles qui spécifie le nombre de colonnes de tuiles dans le jeu de tuiles. Pour les jeux de tuiles de collection d’images, la valeur est éditable et est utilisée quand le jeu de tuiles est affiché.

  • L’attribut backgroundcolor de l’élément carte supporte le format #AARRVVBB lorsque la valeur de son alpha diffère de 255. Auparavant, la valeur d’alpha était ignorée silencieusement.

Tiled 0.14

  • Ajout des attributs optionnels offsetx et offsety aux éléments layer et objectgroup. Ceux-ci spécifient un décalage en pixels appliqué lors du rendu du calque. Les valeurs par défaut sont 0.

Tiled 0.13

  • Ajout d’un attribut optionnel tilecount à l’élément tileset qui est écrit par Tiled afin d’aider des analyseurs à déterminer l’espace mémoire à allouer pour les données des tuiles.

Tiled 0.12

  • Les objets de tuiles n’avaient auparavant pas de propriétés width et height, même si le format l’acceptait techniquement. Maintenant, ces propriétés sont utilisées pour stocker la taille dans laquelle l’image doit être rendue. Les valeurs par défaut de ces attributs sont les dimensions de l’image de tuile.

Tiled 0.11

  • Ajout d”hexagonal à la liste des valeurs supportés par l’attribut orientation de l’élément map. Cela ajoute aussi les attributs staggerindex (even ou odd), staggeraxis (x ou y) et hexsidelength (valeur entière) à l’élément map pour supporter les nombreuses variations de l’hexagonal échelonné. Les nouveaux attributs staggerindex et staggeraxis sont aussi supportés lors de l’utilisation de l’orientation de carte staggered.

  • Ajout de l’attribut id aux éléments object qui stocke un ID unique par carte pour cet objet.

  • Ajout de l’attribut nextobjectid à l’élément map qui stocke le prochain ID disponible pour de nouveaux objets. Ce nombre est stocké pour prévenir la réutilisation du même ID après que des objets aie été supprimés.

Tiled 0.10

  • Les objets de tuiles peuvent maintenant être inversées horizontalement et verticalement. Ceci est stocké dans l’attribut gid en utilisant le même mécanisme que les tuiles normales. L’image est supposée être inversée sans affecter sa position, comme les tuiles inversées.

  • Les objets peuvent être pivotés librement. La rotation est stockée en degrés dans l’attribut rotation, avec une valeur positive indiquant une rotation dans le sens des aiguilles d’une montre.

  • L’ordre de rendu des tuiles sur des calques de tuiles peut être configuré de plusieurs façons grâce à une nouvelle propriété renderorder de l’élément map. Les valeurs valides sont right-down (par défaut), right-up, left-down et left-up. Dans tous les cas, la carte est rendue ligne par ligne. Seulement supporté pour les cartes orthogonales pour le moment.

  • L’ordre de rendu des objets sur des calques d’objets peut être configuré pour soit être trié en utilisant leur coordonnée y (comportement précédent et par défaut), soit par l’ordre d’apparence dans le fichier de carte. Ce dernier permet de contrôler l’ordre de rendu manuellement grâce à des actions qui « Montent » et « Descendent » les objets sélectionnés. Ceci est contrôlé par la propriété draworder de l’élément objectgroup, qui peut soit être topdown (défaut) ou index.

  • Les tuiles peuvent avoir un élément fils objectgroup qui peut contenir des objets qui définissent la forme de la collision à utiliser pour cette tuile. Cette information peut être éditée dans le nouvel Éditeur de Collision de Tuiles.

  • Les tuiles peuvent avoir une simple animation bouclée qui leur est associée grâce à l’élément fils animation. Chaque trame de l’animation réfère un ID de tuile local de ce jeu de tuiles et définit la longueur de la trame en millisecondes. Exemple :

    <tileset name="Animations">
      ...
      <tile id="[n]">
        <animation>
          <frame tileid="0" duration="100"/>
          <frame tileid="1" duration="100"/>
          <frame tileid="2" duration="100"/>
        </animation>
      </tile>
    </tileset>
    

Tiled 0.9

  • Le drapeau de visibilité de chaque objet est sauvegardé (1 par défaut) :

    <object visible="0|1">
    
  • Ajout d’informations sur le terrain dans la description des jeux de tuiles (ceci est généralement peu utile pour les jeux) :

    <tileset name="Terrain">
      ...
      <terraintypes>
        <terrain name="Name" tile="local_id"/>
      </terraintypes>
      <tile id="local_id" terrain="[n],[n],[n],[n]" probability="percentage"/>
      ...
    </tileset>
    
  • Ajout d’un support préliminaire pour une projection « échelonnée » (isométrique) (nouvelle valeur pour l’attribut orientation de l’élément map).

  • Un type basique de calque d’images a été ajouté :

    <imagelayer name="...">
      <image source="..."/>
    </imagelayer>
    
  • Ajout d’une forme d’objet elliptique. Elle utilise les mêmes paramètres que les objets rectangulaires, mais est notée en tant qu’ellipse ayant un élément fils :

    <object name="..." x="..." y="...">
      <ellipse/>
    </object>
    
  • Ajout d’une propriété de carte qui spécifie la couleur d’arrière-plan :

    <map backgroundcolor="#RRGGBB">
    
  • Ajout d’un support initial (pas d’interface graphique) pour des images de tuiles individuelles et/ou intégrées (le support est peu important pour le moment car il n’y a aucun moyen d’implémenter ceci dans Tiled Qt, mais c’est possible dans Taled Java ou avec pytmxlib) :

    <tileset name="Embedded images">
      ...
      <tile id="[n]">
        <!-- an embedded image -->
        <image format="png">
          <data encoding="base64">
              ...
          </data>
        </image>
      </tile>
      <tile id="[n]">
        <!-- an individually referenced image for a single tile -->
        <image source="file.png"/>
      </tile>
      ...
    </tileset>
    

Tiled 0.8

  • Les jeux de tuiles peuvent maintenant avoir des propriétés personnalisées (en utilisant l’élément fils properties comme tout le reste).

  • Les jeux de tuiles supportent maintenant un décalage de dessin en pixels qui est utilisé lorsque n’importe quelle tuile de ce jeu de tuiles est dessinée. Exemple :

    <tileset name="perspective_walls" tilewidth="64" tileheight="64">
      <tileoffset x="-32" y="0"/>
      ...
    </tileset>
    
  • Ajout du support pour une rotation de tuile en incréments de 90 degrés en utilisant le troisième bit le plus important de l’id de tuile global. Ce nouveau bit indique une « inversion non diagonale », ce qui échange les axes x et y lors du rendu de la tuile.