Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Upsilandre Retrogaming

Axelay et le mode 7



 


Axelay, mode 7 ou pas?




La légende urbaine 

Ça a commencé dès les toutes premières review import du jeu dans nos chers magazines. Axelay était forcément une démonstration du fameux mode 7 de la Super Famicom. C’est un jeu phare, exclusif à la console, avec un effet de perspective singulier qu’on ne voyait dans aucun autre shmup. Associer le mode 7 à Axelay était donc inévitable et ça se comprend. On aurait tous fait de même. 

On peut le constater ici dans la review Console+ du jeu lors de sa sortie Japonaise fin 1992, ainsi que dans Player One au même moment (et à la même page, incroyable coïncidence).
 


Console+ #12 p88

 


Player One #26 p88

 


Player One #26 p89




Pourtant ces affirmations sont fausses. La presse de l’époque avait un impacte fort et constituait un argument d'autorité. Il a toujours été difficile de corriger après coup les erreurs de cette époque. Cette légende a donc largement persisté ensuite sur internet jusqu'à aujourd'hui dans les reviews youtube, billet de blog ou podcast, d’une façon presque systématique (moins depuis ma démo NES qui a bien tourné et que j’avais utilisé dans ce sens).

Mais si cette légende a aussi bien persisté pendant 30 ans c’est aussi parce qu’il y a des éléments, des raisons, qui ont participé à entretenir cela et que je vais détailler plus loin.

Axelay a même souvent été utilisé comme argument pour moquer le mode 7. Il est vrai que la perspective de Axelay est un peu étrange (justement parce que ce n’est pas du mode 7) combiné à une couche de sprite qui ne prend pas du tout en considération la perspective (pas de scaling) avec parfois un clipping pas très discret sur l’horizon.
 


Un visuel un peu étrange



Tout ça donne une composition d’image un peu discutable qui a pu effectivement servir de munition aux détracteurs du jeu, du mode 7, voire de la SNES (mais qui a séduit aussi beaucoup de joueurs pour sa fraîcheur).







 

Non, non, pas du mode 7

Ce n'est pas du mode 7. C’est un effet “rouleau” produit à partir d’un raster effect sur le scrolling vertical. Cela consiste à modifier de très nombreuse fois (potentiellement plus de 200 fois par frame) la valeur du scrolling vertical pendant le balayage de l’écran, de manière synchronisée avec celui-ci, afin d’étirer ou comprimer verticalement l’image (et uniquement verticalement, c'est important de retenir cette nuance). J’en parle un peu plus dans ce billet

C’est quelque chose que l’on peut faire sur toutes les machines qui ont un scrolling vertical hardware et qui autorise que l’on puisse modifier celui-ci pendant le balayage écran. Ce qui couvre un grand nombre de machines, de la NES à la SNES en passant par la Megadrive ou la PCE. Seule la Master System ne le permet pas.

Et pour rappel, voici ma démonstration de cet effet (ou en vidéo ici pour la musique ^^) qui tourne à 60 fps sur une vraie NES, et même une vraie cartouche, afin de démontrer que c’est un effet plus classique et abordable que du mode 7.
 


Ma démo NES




On pourrait alors légitimement se demander pourquoi on a pas eu de jeu équivalent sur ces autres machines? Ce qui aurait largement aidé à faire disparaître cette fausse légende du mode 7 dans Axelay.

On peut deviner l'une de ces raisons. Cet effet rouleau est un raster effect assez coûteux tout de même en ressource CPU. Et il se trouve que la SNES ne se résume pas au mode 7. Elle a une autre fonction hardware encore plus importante et essentielle que le mode 7, c’est le HDMA.
C’est une fonction qui permet en quelque sorte de prendre en charge de façon hardware tous les types de raster effect en soulageant donc le CPU pour ce type d’effet (et accessoirement c’est aussi ce qui permet des jeux comme Mario Kart ou F-Zero qui ne sont pas des jeux en mode 7 mais des jeux en mode 7 + HDMA. Sans l’un ou l'autre, ça ne fonctionnerait pas).

La SNES est donc la console qui peut produire cet effet avec le coût CPU le plus faible. La Megadrive a aussi des fonctions hardwares qui prennent en charge certain type de raster effect sur le scrolling et qui lui permet, par exemple, de faire toute sorte d’effet de parallaxe à moindre coût mais malheureusement ces fonctions n’aident pas vraiment pour cet effet là en particulier.

Ca n'empêchera pas la Megadrive d’utiliser le même type de raster effect que Axelay mais dans d’autres contextes et de façon plus ponctuelle ou modérée, pour un FX sur un boss, un écran titre ou un stage bonus par exemple.

L’exemple le plus proche de Axelay sur Megadrive ce sont probablement les stages bonus dans Sonic Blast 3D.
 


Effet rouleau dans Sonic Blast 3D sur Megadrive




On retrouve vraiment le même effet rouleau que Axelay sur l'arrière-plan (et complètement fullscreen ici). De plus, ce raster effect sur le scrolling vertical est aussi utilisé, différemment, sur le premier plan (le pont de bois) pour produire la perspective. Donc un usage fullscreen de ce raster effect sur les 2 plans à la fois, à 60 fps. C’est une belle démonstration technique mais dans une séquence de jeu un peu simpliste (c’est le principe des stages bonus).


Jurassic Park  Rampage Edition, toujours sur Megadrive, possède aussi une séquence qui reprend très fidèlement l'effet rouleau de Axelay mais d'une façon plus originale, et je dirais même plus pertinente. Le résultat est très chouette et nous gratifie de cet effet de cascade spectaculaire.

 


Un usage très pertinent de l’effet rouleau sur Megadrive




Panorama Cotton est un autre exemple sur Megadrive. On s’éloigne de l’effet rouleau d’Axelay mais on retrouve malgré tout l’usage du même type de raster effect pour comprimer verticalement le plan du chemin arc-en-ciel, quand on monte ou descend, afin de restituer cet effet de perspective.


Compression verticale dans Panorama Cotton sur Megadrive




Toujours sur Megadrive, dans The Adventures of Batman and Robin, avec ce superbe effet de profondeur qui combine plusieurs techniques différentes dont celle de Axelay pour comprimer la façade des immeubles, nécessaire à l’effet de perspective.
 


Superbe effet de profondeur dans The Adventures of Batman and Robin




Mais les usages de ce raster effect sur le scrolling vertical sont multiples et variés selon l’imagination des développeurs comme ici pour comprimer verticalement le rideau dans The Adventures of Batman and Robin. C’est toujours la même technique mais utilisée à d'autres fins.
 


Usage alternatif de ce FX dans The Adventures of Batman and Robin




Un usage encore plus original dans Alien Soldier pour produire ce magnifique battement d’aile avec la même technique de compression verticale d’un plan de background (ici les ailes) par l'intermédiaire d’un raster effect sur le scrolling vertical.
Pareil aussi pour le boss “grenouille” du même jeu (stage 6) pour l’écraser et l’étirer lors de ses bonds.
 


Un usage encore plus original dans Alien Soldier




On pourrait sans doute citer plein d'autres exemples d’usage de ce raster effect.
Sur PC-Engine on peut évoquer notamment l’effet de zoom dans Art of Fighting qui combine à la fois ce raster effect sur le scrolling vertical pour le scaling vertical du décor + un changement de mode vidéo pour le scaling horizontal (et d’autres astuces pour les sprites).

A l’inverse, celui qui semble être le parfait effet rouleau dans Mickey Mania Megadrive n’utilise pas du tout un raster effect à la “Axelay” sur le scrolling vertical mais un raster effect très ingénieux sur la palette (que la Megadrive peut modifier à grande vitesse). Par contre ça implique d'avoir un motif très simple au sol qui se répète horizontalement.
 


"Effet rouleau" qui n’en est pas un dans Mickey Mania Megadrive




A savoir aussi que la version SNES de cette séquence n’utilise pas non plus l’effet rouleau de Axelay mais le mode 7 tout simplement.


 

Parmi les nombreuses  preuves à charge, j'évoquerais aussi cette démo de Chris Covell qui a presque 20 ans! et qui reproduit, ni plus ni moins, une séquence de Axelay sur SuperGraphX (et même plus, en permettant potentiellement d'avoir de gros boss simultanément aux 2 plans de background).

Ça veut dire aussi qu'on pourrait faire tourner cette démo sur PC-Engine. SuperGraphX et PC-Engine sont des machines très similaires. L'intérêt de faire cette démo sur SuperGraphx est surtout de profiter de la duplication du chip graphique originel de la PC-Engine pour appliquer l'effet sur 2 plans comme le véritable Axelay. Cette démo sur PC-Engine serait très similaire mais condamné à un seul plan.





Pour conclure ce chapitre je dirais qu’utiliser l’effet rouleau de Axelay comme socle principal d’un shmup Megadrive par exemple (sa concurrente direct), consiste quand même à gâcher une partie non négligeable des ressources CPU tout le long du jeu alors même que dans un shmup on a plutôt envie de les consacrer aux mécaniques de shooting qui sont elle-même très consommatrices en ressource.
Rien n'empêchait de le faire, c’est juste un dilemme parmi d'autres dans la répartition des ressources. Ça aurait été quand même intéressant qu’un studio tente l'expérience mais force est de constater que ça n'a pas été le cas ce qui n’a pas aidé à freiner la légende.
Peut être aussi la crainte d'être accusé de copieur car c'est une signature forte de Axelay. Un autre shmup qui reprendrait le même effet serait probablement un peu raillé.

Il y a pourtant bien eu une tentative sous la forme d'un homebrew, Antarex, dans le courant de la décennie précédente par les espagnols de 1985 Alternativo mais qui n'a malheureusement pas été jusqu'au bout malgré que le projet semblait bien engagé.
L'inspiration d'Axelay était revendiquée sur l'un des stages. On retrouvait exactement le même effet sur 2 plans aussi.








 

Où sont les preuves?

Je pars du principe qu’il y a sans doute des gens qui, à ce moment du billet, sont peut être encore sceptique et/ou n’ont pas envie de me croire sur parole. Je vais donc ajouter quelques éléments un peu plus convaincants pour comprendre pourquoi on sait que ce n'est pas du mode 7 et pourquoi ce choix.

Quand on connaît bien ce genre d’effet rouleau, et comment ça fonctionne, alors c’est assez reconnaissable. Mais autrement il y a tout de même d'autres éléments qui permettent de deviner l'absence de mode 7 ici.
Notamment la présence récurrente de 2 layers de background superposés. Soit pour proposer des boss gigantesques grâce à ce second plan (dans les jeux 8/16 bit les layers background sont souvent utilisés comme des gros sprites), ou simplement ajouter de la profondeur comme ici.

 


Double plan de background, impossible en mode 7




C’est quelque chose que ne permet pas le mode 7. Le mode 7 (8ème et dernier mode vidéo de la SNES) est un mode vidéo plein de contraintes assez fortes dont celle de limiter l’affichage à un unique plan de background quand les autres modes vidéos de la SNES en proposent entre 2 et 4.
On peut même deviner sans trop se tromper que le choix d’utiliser cet effet rouleau, en lieu et place du mode 7, est directement lié à ce besoin de combiner 2 plans, surtout pour les boss qui sont un élément important du jeu. Le mode 7 aurait été trop limitant.



Un autre élément qui permet de différencier un "simple" effet rouleau d'un vrai mode 7 c’est la perspective.
Contrairement au mode 7 qui propose un scaling entièrement contrôlable et complet (surtout une fois combiné au HDMA), l’effet rouleau s’appuie, lui, uniquement sur un effet de scaling vertical de l’image, qui, en l’absence de scaling horizontal, ne permet pas de reproduire un véritable effet de perspective.

Plus concrètement, si vous prenez 2 points de référence sur l’horizon (les points bleus sur l’image) et que vous observez comment évolue la distance entre ces 2 points quand ceux-ci s'approchent, alors vous remarquerez que la distance reste tout le temps la même, caractéristique de cette absence de véritable perspective.


Fausse perspective dans Axelay




Tandis que le mode 7 (combiné au HDMA) est utilisé en général pour justement proposer un véritable effet de perspective, celui qui manque à Axelay.
 


Vraie perspective dans F-Zero




Dans le chapitre précédent j'ai donné l'exemple des stages bonus de Sonic Blast 3D sur Megadrive qui utilisent le même effet rouleau que Axelay avec donc le même défaut de perspective. Mais vous avez peut être noté que le premier plan du pont de bois profite, lui, d'un véritable effet de perspective, même sur l'horizontale. C'est parce que la perspective est précalculée dans le motif de planche qui compose ce chemin.
Quand le motif est simple et répétitif, on peut alors exploiter des astuces pour précalculer la perspective (ça revient à stocker le motif dans de multiples versions qui couvrent toutes les profondeurs).
C'est aussi ce qui explique la véritable perspective sur le chemin arc-en-ciel de Cotton ou l'effet rouleau de Mickey Mania que j'ai aussi exposé plus haut.

Un problème résolu dans cette même séquence Mickey Mania sur SNES grâce au mode 7 qui, malgré l'aspect "rouleau" très marqué de la séquence, permet d'avoir une vraie perspective (même si discrète ici) contrairement à Axelay.
 


Un effet rouleau mais en mode 7 dans Mickey Mania SNES




Super Castlevania IV est un autre exemple de rouleau qui utilise simplement le mode 7 et pas du tout le raster effect “Axelay”.
Ici on voit très nettement que les 2 colonnes verticales de pierre ne sont pas du tout parallèles (comme elle le serait dans Axelay) mais courbées par la perspective. Le mode 7 permet en quelque sorte de comprimer l’image horizontalement et pas seulement verticalement. Peut être un peu trop dans le cas présent où la perspective semble excessive (et ces bougeoirs fixés au murs devraient tourner avec, ça n'a pas de sens ^^).
 


Un autre rouleau en mode 7 marqué par la perspective

 



Ces éléments ne sont pas forcément simples non plus à interpréter si on est pas familier avec ces notions mais il reste une solution imparable pour obtenir cette information sans ambiguïté. Elle consiste à utiliser l’un des nombreux atout des émulateurs: leurs outils debug.
En effet, un émulateur n’a pas d’autre choix que de connaître précisément quel mode vidéo est utilisé à quel instant sous peine de ne pas pouvoir émuler le jeu. Certains outils de ces émulateurs permettent de récolter cette information interne sans difficulté.

Voici 2 exemples, avec l’émulateur Mesen et BizHawk (+ core BSNES), qui permettent de constater définitivement que l’effet rouleau utilise le mode 1 de la SNES et pas le mode 7.


Preuve dans Mesen


 


Preuve dans BizHawk (core BSNES)



J’espère avoir été assez convaincant avec ces éléments supplémentaires ^^. 







 

Si, si, c’est bien du mode 7

J’ai évoqué quelques pistes qui expliquent pourquoi cette fausse légende a perduré aussi longtemps. Les magazines de l’époque qui étaient parole d’évangile ou l’absence d'équivalent à Axelay sur Megadrive entre autres.

Mais il existe un autre élément qui a participé à entretenir cette légende selon moi. Ce sont les listes sur internet qui répertorient les jeux SNES qui utilisent le mode 7. Axelay en fait généralement partie. Mais surtout, Axelay apparaît sur la page wiki anglaise (et française) du mode 7, comme exemple de jeu, parmi d'autres, utilisant ce mode graphique. Forcément ça devient compliqué de lutter à la fois contre la presse de l’époque + wikipedia ^^.

On pourrait alors se demander pourquoi la page wiki n’a pas été corrigée depuis tout ce temps? Tout simplement parce qu'il n’y a pas d’erreur ici. Axelay fait bien partie des jeux qui utilisent le mode 7 de la SNES…

Évidemment ce n’est pas pour l’effet rouleau sinon ce billet n'aurait pas de sens, cette légende est bien erronée.
En réalité, une grande majorité des jeux SNES pourrait être dans cette liste des jeux mode 7. Pas besoin que le mode 7 soit au cœur du gameplay du jeu pour qu’il apparaisse subrepticement à l’écran titre, dans une ending ou pour un boss. Les occasions ne manquent pas d’utiliser cette signature hardware de la SNES dans la plupart des jeux et c’est plus ou moins ce que l’on constate. Notamment pour faire des effets de rotation/zoom (Il est bon de rappeler que la SNES n’a pas de fonction rotation/zoom pour les sprites, donc ce type d’effet est généralement produit à l'aide de l’unique plan background du mode 7).

Et bien sûr Axelay, jeu culte de la machine de surcroît, ne déroge pas à cette tradition.
On retrouve donc du mode 7 pendant le ending. Il est utilisé pour exécuter une rotation/zoom sur le vaisseau.

 


Mode 7 dans l’ending de Axelay




Pour information, ça implique que les éléments de décors en arrière-plan (nébuleuses, étoiles…) soient des sprites puisque le vaisseau utilise l’unique plan disponible en mode 7. En accord avec ce que je vous ai expliqué précédemment.
Cette contrainte du mode 7 n'est pas anodine et pose souvent des difficultés pour son intégration dans les jeux. C’est vraiment un élément important à saisir au sujet du mode 7 et on va y revenir avec ce second exemple, plus intéressant.

En effet, il existe aussi une séquence in-game dans Axelay qui utilise le mode 7 et que je vais vous exposer maintenant dans les moindre détails car c'est techniquement intéressant à décortiquer.

Paradoxalement, c’est dans l’un des stages à scrolling horizontal (donc pas là où les gens l’attendent) que l’on trouve un passage qui fait usage du mode 7. Il s’agit de la séquence du boss ED-209.
 


Mode 7 in-game dans Axelay

 


La preuve dans Mesen




Le mode 7 est utilisé ici uniquement pour proposer l’effet de rotation sur la tête de l’ED-209. Si on décompose la scène pour isoler le plan mode 7 ca donne ceci.
 


Composition de la scène




La partie mode 7 concerne uniquement la tête de l’ED-209. Le sol et le plafond font partie d’un autre layer background en mode 1 (et tout le reste fait partie du layer des sprites).

Mais comment est ce possible d’afficher simultanément plusieurs layers de background différent alors même que le mode 7 contraint l’affichage à un seul et unique plan de background?
Et bien c’est un autre type de raster effect (ou plutôt ici un autre usage du HDMA) qui permet de changer de mode vidéo à la volée, au raster, c’est à dire pendant le balayage de l’écran, et ainsi découper l’image en plusieurs bandes horizontales avec chacune leur propre caractéristique graphique.
 


Découpage de l’écran en bandes horizontales




Donc dans cette bande orange qui est en mode 7, il est effectivement impossible d’afficher un autre plan de background que celui déjà utilisé pour la tête de l’E-209. On en revient donc à cette contrainte pénible du mode 7 qui implique que le reste du décors de cette zone se doit d'être composé uniquement de sprite, et c’est bien le cas.

Ca permet de comprendre pourquoi l’arrière plan de cette zone est assez minimaliste avec juste quelques motifs simples (composé donc de sprite) sur un aplat de couleur.
Ce qui explique aussi ces glitchs de flickering du décor (disparition intempestive) quand il y a saturation de l’affichage des sprites, le décor étant lui-même composé de sprite.
 


Flickering du décor à cause d’un overflow de sprite




En effet la séquence subit une saturation de sprite notamment à l'ouverture de la scène quand il y a encore le système d’attache du robot, lui-même composé de sprite.

Ceci met aussi en exergue l’un des petits défauts hardware de la SNES. Celui de laisser peu de contrôle sur le format des sprites contrairement à une Megadrive par exemple.
Sur cette scène, le flickering du décor ne vient pas tant d’un classique overflow de sprite sur la même scanline comme ca arrive souvent même sur les consoles 16 bit. Non, ici c’est une saturation globale des sprites à l'écran.
Pourtant la SNES permet d’afficher 128 sprites à l'écran (plus qu’une Megadrive) mais cette scène dépasse cette limite. Notamment parce que la scène utilise uniquement des petits sprites 8x8 et 16x16.
 


Visualisation des 128 sprites qui composent la scène




La SNES propose peu de format de sprite, seulement 4 (8x8, 16x16, 32x32, 64x64) contre 16 sur Megadrive. Mais surtout on ne peut sélectionner que 2 formats parmi ce choix déjà très restreint et qui serviront alors pour toute la scène. Axelay à donc choisi les formats de sprite 8x8 et 16x16 pour construire son layer sprite. Un choix plutôt classique pour optimiser l’overflow par scanline mais qui, en contrepartie, peut vite saturer la limite de 128 sprites à l'écran.

Typiquement sur Megadrive les motifs verticaux de l’arrière plan auraient sans doute utilisé des sprites 8x32 plutôt que 16x16 (ce qui diviserait par 2 le nombre de sprite en plus de réduire l’overflow par scanline), et des sprites 32x32 au lieu de 16x16 pour les autres motifs (ce qui diviserait par 4 le nombre de sprite), tout comme plein d’autre sprite de la scène qui combinent aussi 4 sprites 16x16 pour former un seul sprite 32x32.
Une scène comme ça utiliserait sensiblement moins de sprite sur Megadrive et au final saturerait peut être moins malgré une liste de sprite plus restreinte.



Pour en terminer avec les nombreux questionnements techniques que peuvent susciter une simple scène comme celle-ci, certains pourraient s’interroger sur les grosses pattes de l’ED-209. Est-ce de la rotation? Alors que pourtant j’ai rappelé plus haut qu’il n’y avait pas de fonction hardware de rotation/zoom sur les sprites. Que c’était une exclusivité du layer mode 7.

 


Un pas gracieux




Individuellement, chacun des multiples sprites qui compose ces pattes peuvent être déplacés en suivant des trajectoires courbes, rien n'empêche cela. Mais si on y regarde de plus prêt, les sprites eux même ne subissent pas de rotation. A l'exception du sprite du tibia qui profite d’un effet de rotation mais précalculé. C’est à dire qu’il y a simplement plusieurs versions de ce sprite, stocké en ROM et en VRAM, représentant divers orientations de celui-ci. 10 versions pour être exacte (ainsi que 3 versions pour les doigts de pied). Heureusement, la taille réduite de ce sprite limite ici le coût de cette solution un peu bourrine.
 


Les différentes versions du tibia de l’ED-209




A l’inverse de la tête de l’ED-209 qui, elle, profite d’une vraie rotation temps réel grâce au mode 7 (ca serait beaucoup trop coûteux de précalculer et stocker la rotation d’un objet aussi gros) mais restreint donc a un seul objet graphique, ce sont les limites de la SNES.
 

Remarque amusante: Ils ont recyclé ce sprite de tibia pour représenter le système d’attache de l’ED-209 que l’on voit en ouverture et qui nécessite aussi un effet de rotation. On voit que tout ça c'est quand même des budgets très serré. Il faut bidouiller pour que ça rentre ^^.
 


Un système d’attache constitué de multiples tibias

 

 

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
S
Fait plaisir de voir un billet sur ton blog, je ne suis pas fan de Twitter, et même si j'avais déjà (me semble que tu en avais sur youtube) connaissance de cette histoire grâce à toi. Je vais profiter de ma pause pour lire l'article, qui semble plus complet, merci :)
Répondre
U
Oui sur ma chaine il y a une vidéo sur le mode 7 en général (et F-Zero) ^^.
T
Je pensais que cette histoire était définitivement pliée ? en tous cas très bon billet, qui va comme souvent plus loin que le sujet d'origine .<br /> Sinon on peut ajouter ça pour montrer que axelay c'est pas du M7 : https://www.youtube.com/watch?v=CutMY8MOGRE
Répondre
U
Oui je l'ai encore vu dans une vidéo youtube assez récente sur la SNES et pourtant bien documentée. Mais depuis ma démo il y a quand même pas mal "d'influenceur" (au sens positif) qui ont chaque fois pris le temps de préciser que Axelay n'était pas du mode 7 chaque fois que l'occasion se présentait dans leurs podcast ou vidéos youtube. Les gens jouent le jeu. Mais une démo isolé ou des discussions sur discord et twitter, c'est pas suffisant. Pour aller au bout de l'expérience sociale il fallait une source complète sur la question qui apparaisse potentiellement dans les moteurs de recherche sinon c'est peine perdu ^^.<br /> Mais c'est beaucoup d'efforts (la démo + le billet) juste pour éradiquer une seule légende urbaine anecdotique (et limitée à la francophonie). On verra au moins si ça marche à terme. Pas de bol par contre car j'ai posté le billet sur twitter pile au moment où il y a eu un énorme down de plusieurs heures ^^.<br />
T
Il y avait déjà ta démo sur nes qui le montrait, mais j'ai l'impression que ça suffit pas vu qu'en 2023 on en est encore à attendre cette fable sur l'effet rouleau de axelay ;)
U
Ah oui voila l'exemple cool qui me manquait ^^
G
Tu sais qu'on te croit, hein ;)
Répondre
U
Et bah vous avez tord, comme dirais le complotiste de base "il faut penser par soi même" 👌 ^^
C
bravo excellent article
Répondre
U
Merci!