DJ-MAP-EDITOR V2.22 (C)1991 'DE JANEIRO' ---------------------------------------- 'THE AVENGERS' ------------------- * Historique .... ¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹ Tout d'abord,je voudrais remercier les utilisateurs de ce programme qui y trouveront je l'‚spŠre ce qu'ils en attendaient .. Ce programme a vu de nombreuses versions , de la 1.00 jusqu'… la 2.22 il s'est pass‚ un an et demi..Je vous laisse deviner la gueule de la premi‚re version ... J'ai ‚crit cette DOC en fran‡ais afin qu'elle soit accessible et surtout comprehensible pour ceux qui la liront (J'aurais bien sur pr‚f‚r‚ l'‚crire en Anglais mais je ne suis pas certain que meme des anglais l'auraient compris ..). Ce programme devait servir dans un premier temps a composer des Cartes ( MAP ) pour des d‚cors de jeu ou autres,rassurez vous il sert toujours a cela ,mais depuis la version 2.20 ,le d‚coupage des blocs graphiques ne se fait plus a partir d'un programme en GFA BASIC mais … partir du MAP EDITOR lui meme ... Le programme en BASIC ne marchait qu'en BASSE,et je vous laisse imaginer les d‚lires du s‚lecteur de fichier,de la souris ,des boites d'alertes lorsqu'on lance le programme en moyenne.Il est bien g‚nant lorsqu'on programme en moyenne sous GENST (par ex.) avec UIS III et FLEXDISC bourr‚ de fichiers de devoir rebooter en basse pour pouvoir profiter du programme de d‚coupage de sprites ( surtout si on n'a pas de Disque Dur , comme moi ! ),aussi … partir des versions 2.10 j'ai d‚cid‚ d'int‚grer ma propre gestion souris,possible en overscan ainsi que mon propre gestionnaire de menu.On peut maintenant lancer MAP-EDITOR … partir de GENST que l'on soit en basse ou moyenne r‚solution et ce sans probl‚mes..Il est … noter que pour la gestion du s‚lecteur de fichiers j'ai choisi la solution de facilit‚ ( passage momentan‚ dans la r‚solution courante du bureau et utilisation de son s‚lecteur de fichier, Cela m'‚vitait d'en reprogrammer un,qui aurait ‚t‚ surement moins bien que celui du GEM ( fa‡on de parler,j'utilise UIS III de toute fa‡on ...). Mis … part la cr‚ation de MAP ,on peut donc d‚couper des BLOCS graphiques de 1,2,3 ou 4 plans d'une certaine taille pour diff‚rentes utilisations ( pour la cr‚ation de d‚mos on a besoin de fichiers de fontes o— chaque bloc est une lettre,on peut aussi avoir besoin d'un logo d'une certaine taille sur un nombre limit‚ de plans et aucun programme ne permet ce type de manipulation... Un d‚savantage de mes fichiers de fontes et que tous les BLOCS ont la meme taille,si l'on veut d'autres tailles de blocs,il faut avoir un autre fichier mais rien n'empeche d'en avoir plusieurs ; un pour les BLOCS 16x16, un autre pour les BLOCS 32x32 ... ou tout autre taille de 1x1 … 320x200 pixels.De toute fa‡on dans un programme ,la taille des sprites est g‚n‚ralement toujours la meme,une routine g‚n‚rale d'affichage est plus lente,et pour vous qui sans doute voulez programmer un jeu ou une d‚mo la vitesse est importante .... Toutefois les graphiques doivent etres d‚coup‚s dans des pages d'images au format DEGAS *.P?1 ,de toute fa‡on les graphistes utilisent toujours un programme de dessin pour faire leurs oeuvres,ils disposent de tous les outils n‚cessaires. Je pense int‚grer un ‚diteur de BLOC dans une prochaine version,mais pour l'instant il faut s'en passer. Ce programme a subi de nombreux d‚boguages,toutefois il n'est pas exempt de bugs ,mais je n'en ai pas rencontr‚ dans les derni‚res versions qui conduisaient au plantage du programme.Veuillez quand meme ‚viter de faire des manipulations trop bizzares.. Reportez vous … la fin de cette documentation afin de connaitre les quelques consignes … respecter... * Format des fichiers ...... ¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹ *.MAP ( fichiers de carte ). ¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹ Ces fichiers d‚pendent de la taille x,y de la carte que l'on manipule et pour chacun des octets qui la compose correspond un numero de BLOC graphique (de 0 … 255).. Une carte peut etre d‚finie au maximum avec 256 BLOCS graphiques. Un fichier de carte ne sert … rien s'il n'est pas associ‚ … un fichier de BLOC (*.FNT) qui contient les graphiques... Voici donc le format d'un fichier de ce type. offset + 0.L: header d'identification "MAP!". + 4.L: largeur de la carte sur un mot. + 8.L: hauteur de la carte sur un mot. +12.B ...: les octets correspondants … chaque sprite.. *.FNT ( fichier de graphiques ). ¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹ Ces fichiers contiennent les BLOCS d‚coup‚s avec l'utilitaire.. offset + 0.W: largeur x en pixels des blocs. + 2.W: hauteur y en pixels des blocs. + 4.W: nombre des plans (1,2,3 ou 4). + 6.W: nombre de blocs dans le fichier + 8.L: "FNT2" header d'identification du fichier Je sais qu'en principe c'est en premier qu'on le met mais c'‚tait afin de conserver une certaine compatibilit‚ avec d'autres versions.. +12.W(3) : 3 mots non utilis‚s,plus tard peut etre .. +18.w(16): 16 mots,la palette .. +50 ...: Les donn‚es ; blocs par blocs ,lignes par lignes ,par colonnes de 16 pixels ,plans par plans.. Comme l'organisation de la memoire graphique.. A ceci pr‚s que si l'on veut afficher un BLOC de moins de 4 plans … l'‚cran il faudra sauter les plans graphiques inutilis‚s .. J'‚spŠre que vous avez compris ... voici une petite formule pour trouver l'adresse du bloc N dans le fichier ... adr_bloc_N=adr_fichier+50+y*2*nplanes*N*Xbloc avec Xbloc=int((x-1)/16)+1 Xbloc correspond au nombre de blocs de 16 pixels n‚cessaires en largeur pour stocker le BLOC,ce sont des imp‚ratifs li‚s au ST,il aurait ‚t‚ impensable de faire autrement ...Il ressort donc que tout bloc ne faisant pas un multiple de 16 pixels en largeur est compl‚t‚ par des pixels de couleur 0 jusqu'… concurrence du multiple de 16 sup‚rieur le plus proche ... Vous en d‚duirez ais‚ment que lorsque vous voulez faire une MAP il est n‚cessaire d'avoir des blocs avec une largeur multiple de 16 sans quoi il apparaitra une zone sans pixels sur chaque sprites..Les routines d'affichages de blocs de MAPEDITOR ne peuvent d'ailleurs afficher les blocs qu'… des multiples de 16 ,ce qui est tr‚s rapide,dans un jeu il est impensable d'afficher un d‚cor avec une routine g‚n‚rale qui permet d'afficher un BLOC … n'importe quel pixel,le traitement serait beaucoup trop lent .... Ouf !! je m'excuse de m'etre ‚tendu sur ces d‚tails mais c'‚tait n‚amoins n‚cessaire afin de voir les limitations de MAPEDITOR,mais ceux qui sont habitu‚s au ST ont d‚j… compris depuis un moment .... LES FONCTIONS DU MAPEDITOR ¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹ Elles sont de 3 types;fonctions sur les sprites,sur la map et sur le buffer d'image,elles sont toutes li‚es entre elles. Je tiens … pr‚ciser que tous les messages du programme sont en anglais et ne poseront pas trop de probl‚mes … tous les r‚fractaires de la langue de SHAKESPEARE , les messages du type LOAD ,SAVE ,LOAD PIC ,SEE,CHOOSE SPRITES,FILE ERROR....ne devraient pas vous laisser indiff‚rents... Ce programme n'est de toute fa‡on pas tr‚s bavard et n'est pas … l'‚preuve de toutes les fantaisies de l'utilisateur.N'en d‚duisez pas pour autant que vous pouvez faire n'importe quoi avec,il est assez strict sur les fichiers,la gestion m‚moire et il controle la validit‚ de toutes les informations donn‚es.Mais dans le cas d'une erreur lors d'une lecture ou sauvegarde il se contentera d'un simple " file error " ,… vous de d‚terminer le problŠme ( verrouillage ‚criture,pas assez de place ....). Un d‚tail avant de continuer,toutes les options de MAP ne peuvent pas etre activ‚es tant qu'un fichier FNT n'est pas charg‚ ou n'est pas cr‚‚ … partir d'une image..et toute modification d'un fichier de sprites tels qu'un chargement ou une nouvelle saisie entraine la perte de la carte,mais de toute fa‡on vous etes pr‚venus si cela devait arriver! Les fonctions sprites et images sont d‚crites dans la meme rubrique. FONCTIONS SPRITES: ¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹ Disponibles sur la droite du panneau d'affichage,il suffit de d‚placer la souris sur l'option souhait‚e et cliquer (certaines parties r‚agissent diff‚remment selon que l'on fait un clique gauche ou droit ).. pour valider correctement il faut appuyer et lacher dans la meme zone. * LOAD : charge un fichier de sprites s'il y'a assez de m‚moire,les options MAP sont accessibles( on peut charger,cr‚‚r une carte). * SAVE : sauvegarde du fichier de sprites. * SEE : Visualisation des pages de sprites s'il y'en a en m‚moire. ( voir FONCTIONS MAP option LOOK pour compl‚ment ) * LOAD PICT. :Charge une image DEGAS compact‚e ou pas et affiche l'image. cliquer pour retourner au menu. * SET : permet de visualiser l'image et de fixer les param‚tres de saisie OX,OY,TX,TY ... Noter que dans toutes les options de visualisation l'affichage de toutes les couleurs de la palette a lieu en haut de l'‚cran. pour choisir OX,OY il suffit de cliquer sur la position voulue ( affich‚e en haut de l'‚cran ) et ne pas lacher le bouton.On tire alors un cadre et on fixe les parametres TX,TY en lachant la souris … la valeur voulue. Se reporter plus loin pour l'explication de ces valeurs. * PLANE 0123 : en cliquant sur les chiffres on active ou pas le traitement des plans concern‚s,si on visualise le buffer d'image on ne voit alors que les plans que l'on a choisi ( Permet de voir si des sprites utilisent moins de plans et lesquels sont concern‚s). ATTENTION: Lors de la saisie de sprites,seuls les plans choisis sont pris en compte.. * OPT : Cette option est tr‚s pratique,si vous choisissez de l'‚xecuter elle va optimiser l'image c'est … dire ,reconstruire l'image en utilisant seulement les couleurs utilis‚es ( la nouvelle image prend la place de l'autre,c'est irr‚versible ).. A partir de l…,on voit nettement le nombre de couleurs,de plans utilis‚s par l'image..Cela remet aussi de l'ordre dans une image o— toutes les couleurs seraient dispers‚es dans la palette... Cette op‚ration dure quelques secondes . * PARAMETRES OX,OY,TX,TY,DX,DY: Ces paramŠtres sont utilis‚s dans la saisie AUTOMATIQUE des sprites.Il est inutile de les fixer pour la saisie d'un seul sprite ( option CUT 1 ) o— il suffit de tirer un cadre sur le sprite … d‚couper.. On peut fixer les valeurs de DX,DY en cliquant sur les fl‚ches soit d'un clique gauche ( +- 1) ou droit (+- 10). OX,OY: coordonn‚es de d‚part de la saisie. TX,TY: taille du bloc … saisir . DX,DY: nombres de pixels … sauter sur les x et y entre chaque sprite.. Pour faire une saisie automatique il est primordial que les sprites soient r‚guli‚rement espac‚s. Avec un peu d'entrainement on peut d‚couper toutes sortes de fichiers de sprites,par exemple les multiples fichiers de fontes pour d‚mo que l'on trouve un peu partout.. Dans ce dossier figurent d'ailleurs des exemples d'images,de sprites et de map ( avec l'original de celle de la d‚mo 'GATEWAY TO HEXENLAND' faite avec une version moins ‚volu‚e de DJ-MAP-EDITOR ).. * PANNEAU D'INFO : figurent sur ce panneau les informations concernant le fichier de sprites courant ,… savoir ... NP : nbre de plans utilis‚s par les sprites . NOBJ: nbre de sprites dans le fichier. TX : largeur en pixel d'un sprite. TY : hauteur en pixel d'un sprite. * CUT 1 : active le d‚coupage d'un sprite en tirant un cadre sur la partie … saisir. * AUTOCUT : active la saisie automatique,il faut cliquer sur la position d‚sir‚e de fin de s‚rie ... FONCTIONS MAP : ¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹ Elles ne sont accessibles qu'avec des sprites en m‚moires,toutefois vous pouvez modifier certains param‚tres LX,LY de la meme mani‚re que pour les param‚tres de saisie ( en cliquant sur les flŠches ). LOAD : Charge une carte . SAVE : Sauve une carte . LOOK : Visualise la carte … condition qu'elle soit valide. On peut valider cette option par appui sur ESPACE. Lors de la visualisation d'une carte,celle ci couvre le maximum de surface d'‚cran possible ( noter que dans la largeur de l'‚cran si un bloc entier ne peut pas figurer,il y'a un vide ). En haut de l'‚cran figure les paramŠtres IX,IY position du bloc en haut … gauche dans la carte ainsi que X,Y position du bloc point‚ par le curseur souris. Cela vous permet de connaitre la position exacte d'un bloc dans la carte pour faire ‚ventuellement des test de position .. Avec le click gauche vous pouvez inscrire un bloc … la position de la souris ,le bloc concern‚ apparait alors … l'‚cran et son num‚ro figure dans la carte.Tant que vous restez appuy‚ vous inscrivez ce bloc … la position point‚e,vous pouvez donc tapisser une surface avec un bloc. Vous pouvez annuler la derni‚re op‚ration avec la touche UNDO qui restitue les derniers blocs chang‚s depuis le dernier relachement du bouton gauche. Par appui sur le bouton droit ,vous passez dans le mode de visualisation des pages de sprites,tout nouvel appui sur le bouton droit fera alterner les pages de sprites s'ils ne peuvent tous tenir sur une seule page ‚cran. Pour quitter ce mode,il faut imp‚rativement choisir un ou plusieurs sprites en cliquant dessus ce qui a pour effet de retourner dans la page de visualistion de la carte .Mais vous pouvez toutefois choisir un ensemble de sprites en tirant un cadre sur ceux que vous choisissez,il est dŠs fois fastidieux de faire un d‚cor avec des blocs d'une certaine taille (16x16 par ex.) aussi certains sprites compos‚s de plusieurs petits blocs peuvent etres saisis.. Le pointeur souris passe alors en mode BLOC,et tout le bloc sera affich‚ en cas de validation dans la carte . Pour se d‚placer dans la carte si elle d‚passe la taille de l'‚cran,il suffit soit de se placer sur un bord de l'‚cran pour qu'il d‚file ou alors utiliser les fl‚ches curseur pour de d‚placer dans la direction choisie mais par saut d'une page de sprites entiŠre .... Lors de la visualisation de l'image,de sprites ou de la carte,il il peut etre difficile s'il n'y a pas beaucoup de couleurs dans la palette de voir la croix de s‚lection,aussi il est possible d'appuyer sur la touche ALTERNATE ,le temps de l'appui une palette par d‚faut est valid‚e ,Vous voyez mieux ce que vous faites .. SET DIM: permet de cr‚er une carte de la dimension fix‚e par les param‚tres LX,LY. Les valeurs de CLX,CLY correspondent … la taille x et y de la carte valid‚e en ce moment. LENGTH : Taille de la carte en octets,… noter que la taille r‚serv‚e r‚ellement en m‚moire est le double afin d'avoir une copie de la carte pour le buffer d'UNDO. Pour quitter le programme ,cliquez sur le panneau en haut de l'‚cran de s‚lection des options ou alors en pressant ESC. Voil… ,je pense que je n'ai rien oubli‚ sur les fonctions du MAPEDITOR. PROBLEMES ¹¹¹¹¹¹¹¹¹ Je signale dans cette partie les quelques probl‚mes que l'on peut rencontrer avec MAPEDITOR. * Tout d'abord le fait d'utiliser ma propre gestion souris et ce avec l'utilisation d'un overscan m'oblige … avoir des interruptions assez courtes,lors de l'utilisation toutes les interruptions normales du ST sont supprim‚es car elles prennent trop de temps et rendaient impossible l'utilisation d'un overscan .. Donc plus de TIMER pour le bip clavier,la VBL est r‚duite et le test de changement de disque n'y est plus effectu‚ aussi il peut y avoir certains problŠmes ... * La gestion de la m‚moire disponible fonctionne assez bien mais le programme n'autorise pas la saisie de sprites s'il reste moins de 32 Ko par s‚curit‚ pour ne pas ‚craser des donn‚es car le programme n'est pas capable d'‚valuer la taille de m‚moire n‚cessaire avant de faire la saisie,il ne la connait qu'une fois le sprites saisis,s'il n'y avait pas assez de m‚moire il serait trop tard. Toutefois cette limite de 32 Ko ne suffirait plus si vous saisissiez des sprites de moins de 16 pixels de largeur ( avec 1 pixel de largeur et de hauteur il faudrait 50+64000*8 octets pour saisir toute une page sur 4 plans,… ne tenter qu'avec 512 ko de disponibles sinon c'est le massacre ..).. Vous me direz que ce BUG peut facilement etre ‚limin‚, il suffit de ne pas mettre des paramŠtres fantaisistes pour la saisie,si par malheur lors de la saisie vous vous rendez compte d'une ‚normit‚e ou d'un emballement de la saisie automatique ,pressez ESC pour l'interrompre,il n'est peut etre pas trop tard.. Si je n'ai pas corrig‚ ce bug,c'est que je pense le faire prochainement dans une version 2.30 qui sera capable de supprimer des sprites,d'en ins‚rer dans la banque et ceci en testant avant l'insertion s'il reste assez de m‚moire,mais c'est plus compliqu‚ … g‚rer et cela demande de multiples changements dans le code. Il sera alors possible d'avoir plus d'une page de sprites en m‚moire.. PROJETS ¹¹¹¹¹¹¹ * Am‚lioration de la gestion m‚moire,avec une relocation automatique de la carte en cas d'insertion/suppression de sprites pour que la carte et les num‚ros de sprites coincident encore... * possibilit‚ de saisir une portion de bloc dans la map pour la dupliquer ailleurs. * Insertion possible d'une carte sur disque dans la carte courante … la position choisie par le curseur .. permettrait de se confectionner une bibliothŠque de BLOCS complexes ... * extension possible du codage des blocs sur un mot, 65536 blocs possibles alors pour un carte,mais cela semble peu probable car 256 blocs semblent suffisant pour l'instant. * Possibilit‚ d'un ‚diteur de sprites avec zooms ,.... mais seulement une fois que tous les autres am‚liorations seront faites . votre serviteur 'DE JANEIRO'