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.9

  • Added x, y, width and height attributes to the <tile> element, which store the sub-rectangle of a tile’s image used to represent this tile. By default the entire image is used.

Tiled 1.8

  • Added support for user-defined custom property types. A reference to the type is saved as the new propertytype attribute on the <property> element.

  • The <property> element can now contain a <properties> element, in case the property value is a class and at least one member value has been set. The type attribute will have the new value class.

  • Added parallaxoriginx and parallaxoriginy attributes to the <map> element.

  • Added repeatx and repeaty attributes to the <imagelayer> element.

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é.

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.

  • Added a new object property type, which refers to an object by its 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.