[Ace] – Mode 7 Ace

Il s’agit d’un script de mode 7 basique pour RMVX Ace.

  • Permet une inclinaison de la carte de 0° à 89°.
  • Toute la carte est inclinée, sans relief. Seuls les évènements paraissent dressés verticalement.
  • L’effet de colorisation à l’horizon est personnalisable.
  • Les tiles animés sont supportés, ainsi que le bouclage de la carte.
  • possibilité de zoomer (de 1:8 à 8:1) quand le mode 7 est activé.

Ce que cela donne en vidéo :

Nécessite :

  • le fichier MGC_Mode7_Ace_1_9.dll à la racine du projet
  • les 3 fichiers graphiques suivants, déposés dans Pictures/ :
    • autotiles_data.png
    • autotiles_data_small.png
    • autotiles_data_xsmall.png

Configuration :

  • MODE7_MAPS_ID : Contient la liste des id des cartes pour lesquelles le mode 7 est appliqué dès l’entrée sur ces cartes
  • MODE7_DEFAULT_ZOOM : valeur de zoom par défaut qui s’applique dès le passage en mode 7. Compris entre 0.125 et 8.0.
  • MODE7_DEFAULT_ANGLE : valeur d’angle d’inclinaison par défaut qui s’applique dès le passage en mode 7. Compris entre 0 et 89.
  • MODE7_VIEW_LIMIT : nombre de tiles supplémentaires à afficher (en plus des 13 pour la vue normale de la carte en 544 * 416) avant l’horizon.
  • MODE7_FADING_DISTANCE : nombre de tiles avant l’horizon subissant un dégradé de ton et/ou d’opacité.
  • MODE7_FADING_TONE : composantes de couleur R, G, B vers lesquelles tend le dégradé de ton à l’horizon. Chaque composantes peut varier entre -255 et 255.
  • MODE7_FADING_OPACITY : opacité vers laquelle tend le dégradé d’opacité ton à l’horizon. Compris entre 255 (pas de dégradé d’opacité) et 0.
  • MODE7_SCAN_STEP : spécifie la méthode de rafraîchissement de l’écran :
    • 1 : l’écran est entièrement redessiné en 1 frame. Déconseillé car extrêmement gourmand en ressources.
    • 2 : l’écran est redessiné en 2 frames (une ligne de l’écran sur deux est dessinée pour chaque frame).
    • 3 : l’écran est redessiné en 3 frames (une ligne de l’écran sur trois est dessinée pour chaque frame). Conseillé s’il y a trop de lag.
  • MODE7_TERRAIN_TAGS : liste de valeurs de terrain tags pour lesquelles les tiles doivent être dessinés verticalement en mode 7. Si le paramètre MODE7_VERTICAL_TILES_TYPE n’a pas sa valeur égale à 0, utiliser plusieurs valeurs permet de séparer des regroupements de tiles contigus.
  • MODE7_VERTICAL_TILES_TYPE : méthode de regroupement des tiles contigus :
    • 0 : aucun regroupement des tiles verticaux même si des tiles voisins ont le même terrain tag. Pour un tile avec un terrain tag configuré pour être dessiné verticalement, un sprite de dimensions 32*32 est créé. A priori aucun intérêt sans la rotation, car aura le même effet que la valeur 2 mais avec plus de sprites à l’écran, donc plus de ralentissements.
    • 1 : regroupement des tiles verticaux contigus sur la même colonne ayant le même terrain tag. Un sprite est créé par regroupement, le tile le plus bas du regroupement servant de base au sprite. A priori aucun intérêt sans la rotation, car aura le même effet que la valeur 3 mais avec plus de sprites à afficher.
    • 2 : regroupement des tiles verticaux contigus sur la même ligne ayant le même terrain tag. Un sprite est créé par regroupement, l’origine horizontale étant fixée au milieu du regroupement.
    • 3 : regroupement des tiles verticaux contigus ayant le même terrain tag, quelle que soit la ligne ou la colonne. Un sprite est créé par regroupement, le tile le plus bas du regroupement servant de base au sprite et l’origine horizontale étant fixée au milieu du regroupement. Valeur par défaut.
  • MODE7_ALWAYS_DRAW_TILES_ON_MAP : méthode de regroupement des tiles contigus :
    • 0 : les tiles verticaux ne sont pas dessinés couchés sur la carte. Valeur par défaut.
    • 1 : les tiles verticaux sont également dessinés couchés sur la carte.
  • MODE7_PARALLAXED_MAPS_ID : Contient la liste des id des cartes en mode 7 pour lesquelles le panorama est utilisé en tant que couche inférieure. Vous pouvez utiliser un second panorama pour le fond, il faut ajouter dans les notes de la carte le texte suivant : [m7a_pano:nom_du_fichier]

Utilisation :
Voici les commandes en script utilisables (par exemple dans une commande d’évènement en utilisant Script…) :

  • MGC.start_mode7 : pour lancer le mode 7
  • MGC.to_mode7_angle(nouvel angle, durée de transition)
  • MGC.to_mode7_zoom(nouvelle valeur de zoom, durée de transition)
  • MGC.to_map_zoom(nouvelle valeur de zoom, durée de la transition) : pour mettre fin au mode 7
  • MGC.set_mode7_scan(nouvelle valeur) : pour modifier le paramètre MODE7_SCAN_STEP

Il est possible (V.1.3) d’ajouter des paramètres de mode 7 dans le nom des cartes. Ces paramètres sont prioritaires par rapport à ceux dans la partie CONFIGURATION du script. Cela permet de passer d’une carte en mode 7 à une autre en ayant par exemple un angle et un dégradé de ton à l’horizon différents.
Les ajouts possibles dans le nom d’une carte sont :

  • [M7] : active le mode 7 pour la carte (même effet que si l’identifiant de la carte est dans MODE7_MAPS_ID
  • [Ax], où x est un entier entre 0 et 89 : angle de la carte. Ex. : Worldmap[A30]
  • [Zx], où x est un décimal entre 0.125 et 8.0 : zoom de la carte. Ex. : Worldmap[Z1.5]
  • [FDx], où x est un entier positif : nombre de tiles avant l’horizon subissant un dégradé de ton et/ou d’opacité. Ex. : Worldmap[FD16]
  • [FTx,y,z], où x, y et z sont des entiers entre -255 et 255 : composantes de couleur R, G, B vers lesquelles tend le dégradé de ton à l’horizon. Ex. : Worldmap[FT128,-64,0]
  • [FOx], où x est un entier 0 et 255 : opacité vers laquelle tend le dégradé d’opacité ton à l’horizon. Ex. : Worldmap[FO64]
  • [P] : le panorama est utilisé en tant que couche inférieure de la carte.

Télécharger la démo contenant le script (V.1.9)

IMPORTANT : SI VOUS RENCONTREZ DU LAG, VEUILLEZ VOUS ASSURER D’AVOIR DÉCOCHER L’OPTION “REDUCE SCREEN FLICKERING” (F1).

Tous les addons disponibles sont également inclus dans la démo
Cette extension permet le déclenchement automatique du mode 7 dès que le joueur embarque sur le vaisseau.

ALTERNATIVE A CE SCRIPT
木星ペンギン a créé un script ayant également un rendu Mode 7, qui gère la rotation de la carte, et qui ne nécessite pas de fichier DLL supplémentaire. Vous pourrez trouver ce script à cette adresse :
http://woodpenguin.web.fc2.com/rgss3/vehicle3D.html

[Ace] – Mode 7 Ace (WIP)

Je développe actuellement un script de type ″Mode 7″ pour RMVX Ace. Ce script sera très basique :

  • inclinaison de la carte, pas de rotation ;
  • évènements verticaux, et uniquement ceux-ci ;
  • zoom ;
  • support des tiles animés ;

L’inclinaison de la carte est déjà opérationnelle :

En vidéo :