MGC ISO Engine – Données constitutives d’une carte en vue isométrique

Chaque instance de la classe MGC_ISO_Map contient les données suivantes :

  • blockmatrix :Table de dimensions width × height × (max_altitude + 1).
    Cette table contient pour chaque bloc de la carte l’identifiant du bloc utilisé, qui comprend son type (les dizaines) et son orientation (les unités).
    Les identifiant des blocs sont les suivants :

  • heightmatrix :Table de dimensions width × height × (max_altitude + 1).
    Pour chaque bloc de la carte, cette table contient un entier composé de quatre chiffres représentant chacun la forme d’un côté du bloc.
    Cet entier, dont chaque chiffre le composant est compris entre 0 et 7, est composé comme suit :

    Si la valeur stockée dans cette table est nulle, cela signifie qu’il n’y a pas de bloc aux coordonnées correspondantes.
  • passabilitymatrix :Table de dimensions width × height × (max_altitude + 1).
    Pour chaque bloc de la carte, cette table contient un identifiant représentant la valeur de la passabilité dans les quatre directions pour le dessus du bloc.
    Voici la liste des identifiants :
  • data_tilesets :Hash ayant pour clefs des Array de taille 3 et pour valeurs des Array de taille 11.
    Chaque clef correspond aux coordonnées d’un bloc texturé placé dans la carte, et est une liste composée des éléments :

    1. coordonnée horizontale du bloc dans la carte (Integer)
    2. coordonnée verticale du bloc dans la carte (Integer)
    3. altitude du bloc dans la carte (Integer)

    La valeur associée à une clef est une liste contenant les informations suivantes :

    1. identifiant du tileset utilisé pour la première couche (Integer)
    2. numéro du tile dans le tileset utilisé pour la première couche (Integer)
    3. identifiant du wallset pour la paroi gauche (Integer)
    4. numéro du tile dans le wallset pour la paroi gauche (Integer)
    5. identifiant du wallset pour la paroi droite (Integer)
    6. numéro du tile dans le wallset pour la paroi droite (Integer)
    7. mode de masque utilisé – 0 : pas de masque / 1 : masque normal / 2 : masque autotile – (Integer)
    8. identifiant du maskset utilisé pour le masque (Integer)
    9. numéro du tile dans le maskset utilisé pour le masque (Integer)
    10. identifiant du tileset utilisé pour la deuxième couche (Integer)
    11. numéro du tile dans le tileset utilisé pour la deuxième couche (Integer)
  • data_scenery_elements :Hash ayant pour clefs des Array de taille 3 et pour valeurs des Array de taille 5.
    Chaque clef correspond aux coordonnées d’un élément de décor placé dans la carte, et est une liste composée des éléments :

    1. coordonnée horizontale de l’élément de décor dans la carte (Integer)
    2. coordonnée verticale de l’élément de décor dans la carte (Integer)
    3. altitude de l’élément de décor dans la carte (Integer)

    La valeur associée à une clef est une liste contenant les informations suivantes :

    1. nom du sceneryset utilisé pour l’élément de décor (String)
    2. numéro du sprite dans le sceneryset utilisé pour l’élément de décor (Integer)
    3. indicateur de miroir pour l’élément de décor (Boolean)
    4. type de transparence (blend_type) pour l’élément de décor (Integer)
    5. opacité de l’élément de décor (Integer)