home *** CD-ROM | disk | FTP | other *** search
-
- _______________________________________________________________________________
- -------------------------------------------------------------------------------
- ____ ____ ____ ____ ____ ____ ____ ____ __ __ _____ ____ ____ __
- /\___\\___\\___\\___\\___\\___\ /\___\\___\\_\/\_\\____\\___\ \___\\_\
- / / __// // _ // _ // __//__ / / / __// // \/ //_ _//__ / / // /_
- / / /\ / / // __// __// __// / / / /\ / / // /\ // / / / / / / // /__\
- \/___//___//_/ \/_/ \/___//_/\_\ \/___//___//_/\/_/ \/_/\/_/\_\/___//_____/
-
- -=* L'EDITEUR *=-
- _______________________________________________________________________________
- -------------------------------------------------------------------------------
-
- Version 1.0, compatible tout OS (testé sur 1.3, 2.0+, 3.0)
-
- SHAREWARE ©1993 par Nadir Boussoukaia
-
-
-
- >>> AUTEUR <<< >>> DISTRIBUTEUR <<<
- Ecrivez à: /--------------------------\ /----------------------------\
- | Nadir Boussoukaia | | SILICONE-DP |
- | 1 Rue Des Romanesques | | 5 Bld des Arceaux |
- | 13015 Marseille (France) | | 34000 Montpellier (France) |
- \--------------------------/ \----------------------------/
- ---> commentaires/Hellos ---> Achat du programme:
- suggestions/Bugs report 30 Francs Francais par
- échange de Demos disk (shareware compensé).
-
-
-
-
- ========================================================================
- TOUTE PROPOSITION SERIEUSE DE TRAVAIL EST CHALEUREUSEMENT ACCUEILLIE
- ========================================================================
-
- -------------------------------------------------------------------------------
- Introduction
- -------------------------------------------------------------------------------
- Copper Control Editor (appelons-le CC-ED) est un éditeur de copperlist à usage
- général, n'ayant pratiquement aucune limitation (il est possible par exemple
- d'avoir plus d'une couleur par ligne raster). Vous pouvez grâce à lui éditer et
- sauver des copperlists pour vos programmes en langage machine et autres.
-
- Une autre possibilité intéressante est que vous pouvez sauver vos copperlists
- pour Copper Control: Ce petit programme (3844 Octets) vous offre la possibilité
- d'utiliser votre propre copperlist à la place de n'importe quel nombre de
- couleurs, dans n'importe quel écran Intuition, comme par exemple l'écran du
- Workbench. Voir l'autre doc.
-
- CC-ED est un éditeur convivial du style DeluxePaint, avec un grand nombres de
- fonctions originales pour ce type de programme (comme UNDO).
- Il a été fait dans l'optique d'une totale simplicité et fonctionnalité à
- l'utilisation, afin que les non-spécialistes puissent l'utiliser sans maux de
- tête (Vous ne trouverez aucun message ou fonction ésotérique !)
- Toutefois, il n'impose aucune restriction et les coders peuvent l'utiliser et
- avoir à leur disposition pratiquement toute les possibilités du COPPER.
-
- Une version Française et Allemande peuvent être disponibles.
-
- Caractéristiques
- ----------------
- - Copper Control codé en court & rapide assembleur
- - L'éditeur CC-ED codé en AMOS 1.3 (peut-être une version 2.0 en C)
- - Interface Intuitive (j'espère!)
- - Vous pouvez choisir le registre couleur de la copperlist
- - Plus d'une couleur par ligne possible (tout les 8 pixels)
- - Possibilité de copperlists multi-registre couleur
- - Sauvegarde des Copperlists en fichiers RAW ou ASCII pour les coders
- - Tables de Couleurs générées en fichiers RAW et ASCII
-
- Non-Caractéristiques
- --------------------
- - AGA support (pour l'instant ?)
- - 100% débuggé ! (Disons qu'il l'est à 99%...)
-
- -------------------------------------------------------------------------------
- Désistement juridique
- -------------------------------------------------------------------------------
- CE PROGRAMME EST FOURNI SUR UNE BASE `TEL QUEL', AUCUNE GARANTIE N'EST FAITE,
- EXPLICITE OU IMPLICITE. L'AUTEUR N'ASSUME AUCUNE RESPONSABILITE JURIDIQUE ET
- TOUTE UTILISATION DE CE PROGRAMME EST A VOS PROPRES RISQUES.
-
- -------------------------------------------------------------------------------
- Distribution & Donation ShareWare
- -------------------------------------------------------------------------------
- Cette production est SHAREWARE: Si vous l'utilisez, c'est que vous avez déjà
- payé la maigre CONTRIBUTION de 30 Francs Français. Dans le cas contraire, elle
- a été fixée si bas que vous n'avez aucune excuse: Vous devriez le faire dès à
- présent (Vous trouverez l'adresse du distributeur au début du texte).
-
- Après cela, vous pourrez l'utiliser comme bon vous semble, y compris dans une
- production commerciale, sous réserve toutefois qu'il n'en soit pas l'objet
- principal.
-
- Le futur de cette production dépend de vous.
- Si vous me soutenez, je continuerai à travailler dessus et à l'améliorer.
- J'ai aussi quelques autres projets à l'esprit.
- Mais tout dépend de mon moral... et mon moral dépend de mon portefeuille.
-
- -------------------------------------------------------------------------------
- Installation
- -------------------------------------------------------------------------------
- Copper Control Editor peut être placé n'importe où.
- Il recherche un fichier de configuration optionnel dans le directory courant
- (Sous Workbench c'est le même directory que celui de CC-ED) ou en S:
- Notez que ce fichier est OPTIONNEL. CC-ED n'a besoin d'aucun fichier, mis à
- part une librairie: J'ai pu éviter l'utilisation de la `Mathtrans.Library', mais
- je n'ai pu éviter celle de la `Diskfont.Library'. Bien que je ne règle que la
- ROM font 8, AMOS utilise cette librairies. Elle doit donc être dans votre LIBS:
-
- CC-ED a été compilé pour le Workbench, mais il peut aussi être lancé depuis le
- CLI. Pensez alors à utiliser un `Run >NIL:' pour garder la main.
-
- -------------------------------------------------------------------------------
- Utilisation de Copper Control Editor
- -------------------------------------------------------------------------------
- Préalable: J'appelle `Registre Couleur' une des 32 cases mémoires utilisées
- pour stocker les couleurs de la palette.
-
- Une fois le programme chargé, vous pouvez voir à l'écran:
- - Un panneau avec un assez grand nombre de gadgets,
- - Un curseur composé de deux sprites sur l'écran noir de gauche,
- - Votre beau pointeur souris rose.
-
- Vous pouvez déplacer le curseur avec:
- - Le Clavier: Les flèches haut & bas sur l'édition principale. Vous pouvez
- accélérer le mouvement avec les touches Shift (Il y a un pas
- différent pour chaque touche shift).
- Les flèches droite & gauche quand vous éditez une ligne. Les
- touches Shift sont utilisées ici pour aller directement au
- début ou à la fin de la ligne éditée.
- - La Souris: Clickez simplement à l'endroit où vous voulez placer le curseur.
- Si vous maintenez pressé le bouton souris sur le haut ou le bas
- de l'écran, la copperlist se met à scroller.
- - Le Slider: Agrippez la barre du slider et déplacez la vers le haut ou le
- bas pour aller la où vous voulez. Si vous ne cliquez pas sur la
- barre la copperlist fait seulement un petit saut.
-
- La philosophie du programme est que tout doit être aussi simple & intuitif que
- possible. Il y a trois façons de modifier la copperlist:
- - Avec les fonctions du curseur:
- La plupart sont dans le panneau `Current Line' comme
- par exemple Delete, modifier la couleur, Edit, Insert..
- - Avec les fonctions de Bloc:
- Comme Spread, Paste, Clr, Roll. La plupart sont dans le
- panneau `Block'. L'utilisation en est assez logique:
- Vous devez d'abord spécifier les limites de la fonction
- puis clicker sur le gadget de la fonction que vous
- voulez utiliser.
- - Avec les fonctions du Pointeur Souris:
- Pour l'instant elles sont au nombre de deux, Pick Color
- et Smooth. Vous clickez en premier sur le gadget, puis
- l'utilisez aussi longtemps que nécessaire. Pour sortir,
- clickez le bouton droit de la souris ou alors allez
- vers le Panneau des fonctions.
-
-
- Copper Control Editor vous permet d'afficher seulement une couleur par ligne
- raster sur l'écran principal, pour la rapidité (utilisation de fonctions AMOS)
- et pour la simplicité dans le codage comme dans l'utilisation. Imaginez Par
- exemple avec la fonction Spread : Si on fait un Spread sur quelques lignes,
- Comment peut-on déterminer simplement si on prend en compte l'intérieur d'une
- ligne ou pas ?
- J'ai décidé Pour ces raisons de séparer l'édition verticale et horizontale de
- la copperlist. Ainsi en utilisant la fonction `EDIT LINE', vous pouvez éditer
- horizontalement et afficher beaucoup plus de couleurs par lignes (44 en règle
- générale !). Vous aurez aussi besoin de l'utiliser en combinaison avec la
- fonction TEST pour voir le résultat réel (Voir ci-dessous pour plus de détails).
-
- Vous pouvez utiliser la fonction MIX pour avoir des copperlists multi-registre
- couleur (ceci signifie des copperlists sur les couleurs 00 plus 01 plus 03 par
- exemple). J'expliquerai totalement son utilisation plus loin.
-
- Pratiquement toute les fonctions ont un raccourci clavier.
- En utilisant la touche HELP, vous pouvez changer la couleur du curseur.
-
- Vous devez savoir qu'il y a un nombre limité d'instructions COPPER. Il est en
- général d'environ 3000 sous Workbench, ce qui correspond à 66 lignes éditées de
- 44 couleurs. Vous pouvez avoir plus d'instructions dans un programme codé en
- assembleur, mais le Workbench en utilise beaucoup pour l'affichage des écrans,
- etc... De toute façon, vous ne pouvez en aucun cas avoir 44 couleur par ligne
- sur 256 lignes. Oubliez ça !
- De plus, le nouveau COPPER dans l'AGA chipset étant plus puissant, il pourrait
- avoir un plus grand nombre d'instructions disponible.
- Ainsi, étant donné que ce nombre maximum peut varier selon l'objectif pour
- lequel la copperlist est dessinée, J'ai décidé de NE PAS la contrôler.
- C'est donc VOUS qui devez tester le nombre maximum d'instructions que vous
- pouvez utiliser. Pour le savoir sache que quand le nombre maximum est dépassé,
- l'affichage plante. Par conséquent sauvez tout avant d'utiliser une grosse
- copperlist (un fichier de plus de 10k) non testée auparavant. Vous êtes
- averti !
- Pour une utilisation de copperlist sous Workbench SANS RISQUE, évitez
- simplement d'utiliser des lignes éditées, ou très peu.
- Notez que la fonction TEST contrôle le dépassement du maximum: essayez de
- l'utiliser...
-
- Je pense que le programme est assez simple à utiliser, et le mieux que je
- puisse faire maintenant est simplement d'expliquer ce que chaque gadget fait.
-
- Dernier conseil: sauvez aussi souvent que possible pour éviter les surprises !
-
- -------------------------------------------------------------------------------
- Sommaire des fonctions des Gadgets
- -------------------------------------------------------------------------------
- Notez que clicker sur un gadget numérique vous permets de l'éditer au clavier.
- S'il existe un raccourci clavier, il est spécifié entre parenthèses.
- NB: aucun ordre d'explication...
-
-
- Nom du Gadget Description
- -------------- ---------------------------------------------------------------
- X (Esc) Quitte le programme, après confirmation.
-
- CC-ED Informations générales du programme et de l'auteur.
-
- WB (Amiga+M) Retourne au Workbench ou au CLI.
- Une petite fenêtre est ouverte. vous devez la fermer pour
- retourner dans l'éditeur CC-ED.
-
- Hide (H) Cache le Panneau des fonctions pour avoir une vue plus générale
- de la copperlist courante. Clickez à nouveau pour le faire
- réapparaître.
-
- Test (T) Construit une autre copperlist pour voir le résultat réel de
- votre travail, et ceci dans la section affichée de la
- copperlist.
- La différence avec `Hide' est qu'il prend en compte les lignes
- éditées, et aussi les réelles positions X des lignes.
- S'il n'y a aucune ligne éditée les réelles positions X des
- lignes seront pratiquement la seule différence.
-
- `Pratiquement' parce qu'il y a la fonction interlace:
- Quand l'écran est entrelacé, le Workbench n'affiche que les
- lignes impaires de la copperlist. C'est ce que fait la fonction
- interlace.
- Ainsi, si vous double-clickez sur ce gadget, un requester vous
- permet de simuler l'interlace du workbench.
- (Un truc: Sous Workbench, si vous décalez d'une ligne vers le
- bas l'écran entrelacé, les lignes paires apparaissent à la
- place des impaires.)
-
- RMB Avec ceci vous pouvez simuler un click `normal' sur n'importe
- quel gadget par un simple appuie sur le bouton droit de la
- souris.
- Clickez sur ce gadget, puis clickez sur le gadget que vous
- voulez simuler. Après cela, chaque fois que vous cliquerez sur
- le bouton droit de la souris, le gadget sélectionné sera appuyé
- comme si vous l'aviez clické en positionnant le pointeur dessus
- et en clickant avec le gauche.
- Vous n'avez pas compris ? Testez-le, c'est plus simple.
- Et si vous trouvez cette fonction inutile, ne l'utilisez pas !
-
- UNDO (U) Permets d'annuler la dernière modification.
- Notez que Undo restaure les couleurs mais aussi les positions X.
- Toutefois Undo NE RESTAURE PAS une ligne éditée effacée, ou sa
- précédente position Y. Faîtes attention !
-
- CLR (C) Clear: un requester vous demande ce que vous voulez effacer:
- Soit toute la copperlist, soit seulement le bloc marqué.
- Si sélectionné, remets aussi les positions X à $28 (40 en
- décimale).
-
- Config Sauvegarde vos réglages courants dans un fichier de
- configuration, qui sera relu au prochain chargement du
- programme. Un filerequester apparaît: le nom du fichier doit
- être `CC-ED.config'.
- Au Chargement, CC-ED le recherchera d'abord dans le directory
- courant, puis dans le directory logique S: s'il ne l'a pas
- trouvé. Donc si vous n'aimez pas les fichiers config placés en
- `S:', vous devez le sauver dans le même directory que CC-ED
- pour un chargement à partir du Workbench. Par CLI, n'oubliez
- pas d'utiliser la commande `CD' si vous voulez que CC-ED le
- trouve!
-
- Lignes (L) C'est un gadget numérique utilisé pour afficher la longueur de
- la copperlist. Clickez dessus et un requester vous permet de
- régler la taille de la copperlist. Il y a sur sur la gauche de
- ce requester quelques gadgets pré-réglés (256, 512, 313),
- permettant de régler les tailles usuelles par un simple click
- (313 est pour les coders).
- Si la nouvelle taille est plus petite que la précédente alors
- la copperlist courante est tronquée à la nouvelle taille, sinon
- des lignes vides sont ajoutées.
- Notez que vous pouvez régler le nombre de lignes sur n'importe
- quel nombre entre 0 and 999 (J'ai choisi 999 arbitrairement).
- Ceci inclue les tailles inférieures à 256.
-
- Color Règle le registre couleur de la copperlist. Pour l'instant seul
- un nombre entre 0 et 31 est valable.
-
- ---------------------------------------------------------------
- Panneau Bloc Marks
- ---------------------------------------------------------------
- Un dessin vaut mieux qu'un long discours:
-
-
- -------------------
- | Blk Marks |
- | --------------- |
- | | [1] | |
- | --------------- |
- | ------- ------- |
- [3]-->| 000 | | <-1 |<--[2]
- | ------- ------- |
- | --------------- |
- | | [1] | |
- | --------------- |
- | ------- ------- |
- [3]-->| 999 | | <-2 |<--[2]
- | ------- ------- |
- -------------------
-
- [1] Vous affiche la couleur de la ligne marquée. C'est utile pour
- être sûr de ce qu'on fait. De plus, quand on clique ce gadget,
- le curseur est placé sur la ligne correspondante.
-
- [2] ([ and ]) Marque une limite du bloc. Ceci sera utilisé par les fonctions
- de bloc. Raccourcis claviers:`[' et `]' sur le pavé numérique.
-
- [3] Affiche le numéro de ligne de la marque de bloc.
-
- Note: Aucun ordre n'est nécessaire dans le placement des
- ----- marques. La marque n°1 peut être placée sur une ligne
- plus basse que la marque n°2 aussi bien que l'inverse.
-
- Exemple d'utilisation:
- Placer la marque n°1 sur la ligne 0 et la marque n°2 sur la
- ligne 255 en plaçant le curseur sur ces lignes et en cliquant
- sur les gadgets [2] (les numéros 0 et 255 doivent apparaître
- dans les gadgets [3]). Vous pouvez aussi éditer directement les
- gadgets [3]. Ensuite cliquez sur le gadget de la fonction que
- vous voulez utiliser, par exemple Spread ou RollUp.
-
- ---------------------------------------------------------------
- Panneau Block
- ---------------------------------------------------------------
- Spread (S) Ceci fera un spread normal entre les lignes marquées.
- (En fait, il fait un spread séparé sur chaque composante
- couleur Rouge, Vert et Bleu).
- Si sélectionné, Cela spreadera aussi les positions X.
-
- Si vous double-cliquez sur ce gadget, un petit panneau vous
- permet de choisir quelle composante couleur (Rouge, Vert et
- Bleu) doit être inclue dans le Spread suivant.
- C'est un Spread paramétrable. Cliquez `OK' pour l'exécuter.
- Que fait-il ?
- Il Spread normalement les composantes sélectionnées, et
- n'affecte pas les valeurs dans la copperlist des composantes
- non sélectionnées.
- Si aucune composante n'est sélectionnée, rien ne se passe.
- Si toute sont sélectionnée, le résultat est exactement le même
- que le Spread normal.
- Pourquoi l'utiliser ? En fait, c'est utile si vous devez
- modifier les couleurs d'un motif complexe. C'est assez dur à
- expliquer, alors si vous n'avez pas compris, essayez de le
- tester avec des copperlists complexes (pas avec des Spreads
- simples), et le résultat sera évident.
-
- Sur le côté droit du gadget, J'ai ajouté un second Spread qui
- utilise une autre méthode. Je l'appelle Smoothed Spread. Il
- donne de meilleurs résultats sur les Spreads larges, et
- spécialement quand les composantes RGB ne sont pas
- proportionnelles. Toutefois, sur les petits Spreads (moins de
- 32 lignes environ), l'autre spread a de meilleurs résultats.
-
- Paste (P) Copie le bloc marqué en mémoire, puis le recopie dans la
- copperlist en commençant par la ligne courante (fait un coupé
- et un collé).
- Si sélectionné, fera de même avec les positions X.
- Si sélectionné, fera de même avec les lignes éditées.
- Si vous double-cliquez ce gadget, un Panneau avec deux
- fonctions apparaît: `Halve & Paste' et `Double & Paste'.
- Celles-ci sont auto-explicatives, je les ai ajoutées pour
- simplifier les conversions entre les copperlists pour les
- écrans normal ou entrelacé.
-
- Invert (I) Inverse les couleurs entre les marques de bloc.
- Les couleurs sous la marque n°1 et sous la marque n°2 seront
- échangées, et ainsi de suite...
- Si sélectionné, fera de même avec les positions X.
- Si sélectionné, fera de même avec les lignes éditées.
-
- Roll UP Fait une rotation des couleurs jusqu'à ce que vous relâchiez le
- Roll DOWN bouton de la souris. La couleur sur la ligne la plus haute
- apparaîtra sur la ligne la plus basse, ou l'inverse, et ainsi
- de suite...
- Si sélectionné, fera de même avec les positions X.
- Si sélectionné, fera de même avec les lignes éditées.
-
- ---------------------------------------------------------------
- Panneau Current line
- ---------------------------------------------------------------
- Note: La ligne courante est la ligne où est placé le curseur !
- -----
- [1]
- T
- ---------------|-------------
- | Current | ------- |
- | ------- | | 028 | |
- | | 000 |<--+ === === <---[2]
- | ------- |<|X|>| |
- | --- --- |
- | ------- ------- ------- |
- | | 001 | | 015 | | 007 | |
- | === === === === === === |
- | |<|R|>| |<|G|>| |<|B|>| |
- | --- --- --- --- --- --- |
- ----/\-------/\--------/\----
- \________\_________\________[3]
-
- [1] Vous donnes le numéro de la ligne courante.
-
- [2] Vous donnes la position Horizontale de départ (la position X)
- de la ligne courante. vous pouvez avoir une précision de 4
- pixels (hardware).
- Si vous double-cliquez ce gadget, vous avez à disposition un
- panneau avec des fonctions spécifiques sur les postions X.
- Ce Panneau est détaillé ci-dessous.
-
- [3] (|) Ce sont les valeurs RGB (les composantes) de la couleur de la
- | copperlist qui est sous la ligne courante. Vous pouvez les
- | modifier en utilisant les flèches. Notez que les valeurs
- | bouclent.
- | Quand vous double-cliquez les gadgets numériques, la valeur
- | correspondante est remise à zéro au lieu d'être éditée.
- |
- +---> raccourcis claviers:
- 7 - RED=RED+1 8 - RED=RED-1 9 - RED=0
- 4 - GREEN=GREEN+1 5 - GREEN=GREEN-1 6 - GREEN=0
- 1 - BLUE=BLUE+1 2 - BLUE=BLUE-1 3 - BLUE=0
-
- vous pouvez noter que c'est juste comme dans Dpaint..
-
- ---------------------------------------------------------------
- Panneau Pos X Parameters
- ---------------------------------------------------------------
- Ce panneau vous offre la possibilité de copier la valeur de la
- position X de la ligne courante dans le Bloc ou dans toute la
- copperlist. Vous trouverez sûrement ceci utile (comme moi).
- Vous pouvez aussi choisir Si les opérations suivantes
- affecterons les positions X. Cela veut dire par exemple que
- quand vous faîtes un Spread, les valeurs des positions
- horizontales seront aussi Spreadée.
- Vous pouvez faire un Spread seulement sur les positions X.
-
- Enfin, vous pouvez choisir la position X par défaut pour les
- lignes éditées. Ainsi chaque fois que vous éditerez une ligne
- pour la première fois, cette valeur sera mise automatiquement.
-
- Je pense que ces petites fonctions peuvent épargner beaucoup de
- travail répétitif.
-
- ---------------------------------------------------------------
- Panneau Line
- ---------------------------------------------------------------
- Comme toujours, Un dessin vaut mieux qu'un long discours.
-
- ---------------------
- | ----------------- |
- | | E D I T |<---[1]
- | ----------------- |
- | ---- --[2]-- ---- |
- [3]--->|/\| | 000 | |\/|<---[3]
- | ---- ------- ---- |
- | ------- ------- |
- [4]--->| Ins | | Del |<---[5]
- | ------- ------- |
- ---------------------
-
- [1] Edit (E) Avec ce gadget vous pouvez éditer la ligne courante. Si la
- ligne est déjà éditée, la fenêtre edit apparaît normalement,
- sinon le gadget numérique en [2] est incrémenté au préalable.
- Vous pouvez ne pas prendre en compte la couleur sous la ligne
- courante, car elle sera remplacée par les définitions couleurs
- de la ligne éditée.
-
- Vous pouvez déplacer la fenêtre edit avec le bouton gauche de
- la Souris sur le drag bar (comme sous Workbench), mais aussi la
- replacer automatiquement près du curseur avec le bouton droit.
-
- [2] Vous indique le nombre total de lignes éditées.
- En cliquant ce gadget vous pouvez appeler le panneau des
- paramètres des lignes éditées (Edited Lines Parameters), qui
- est détaillé ci-dessous.
-
- [3] (+ or -) Recherche la ligne éditée suivante vers le haut ou vers le bas
- et s'il y en a une, place le curseur dessus. Quand la fenêtre
- d'édition de ligne est ouverte, vous pouvez aussi utiliser les
- flèches Haut et Bas qui sont équivalentes aux touches + et -
- (plus intuitif).
-
- [4] Ins Insère une ligne sur la ligne courante. Comme dans n'importe
- (Enter ou CR) quel éditeur de texte, décale toute les lignes sous la ligne
- courante vers le bas. Toutefois, la dernière ligne est perdue.
-
- [5] Efface la ligne courante. Comme dans n'importe quel éditeur de
- (Del ou Bkspc) texte, décale toute les lignes sous la ligne courante vers le
- haut. Une ligne vide est ajoutée à la fin.
- Si la ligne courante est éditée et si sélectionné, ses
- définitions seront aussi effacées, et le compteur de lignes
- éditée décrémenté dans le gadget [2].
-
- note: Si les définitions de la ligne éditée ne vont pas
- ----- jusqu'au bord droit de l'écran, c'est la dernière
- couleur de la ligne qui remplira le reste.
-
- ---------------------------------------------------------------
- Panneau Edited Lines Parameters
- ---------------------------------------------------------------
- Parce que l'allocation mémoire était assez grosse pour stocker
- les définitions pour les 999 lignes possibles (90 Ko) et que
- objectivement on ne peut avoir 999 lignes composées de 44
- couleurs, j'ai décidé finalement de rendre configurable ce
- buffer. (En fait c'est aussi parce que j'ai ajouté l'édition de
- de ligne à la fin...).
- par conséquent, c'est l'objet de ce panneau:
- - vous pouvez régler le maximum de lignes pouvant être éditées
- - et vous pouvez régler le nombre de couleurs par ligne qui
- seront réservées.
- Il y a un indicateur de mémoire utilisé pour un control total.
-
- De plus, Il y a un gadget qui vous permet de choisir Si les
- opérations à venir affecterons les lignes éditées, Si elles
- le peuvent (par exemple Del peut effacer une ligne éditée..)
-
- ---------------------------------------------------------------
- Panneau Smooth
- ---------------------------------------------------------------
- Beaucoup de gens utilisent cela dans leur dessins ou leurs
- copperlist et le font manuellement, et étant donné que je le
- fais aussi, j'ai décidé de l'inclure parce que c'est une
- procédure répétitive.
-
- Il y a trois préréglages du Smooth, Vous permettant d'adoucir
- les transitions entre couleurs.
- Tout ce qu'il fait est simplement d'échanger les bonnes lignes
- en dessous et au dessus de la ligne pointée par le pointeur
- souris. Pour Stopper, cliquez le bouton droit de la souris ou
- allez sur le panneau des fonctions.
-
- Peut être y aura-t'il un Smooth totalement configurable dans
- une future version, ou peut-être pas à cause de l'AGA (c'est
- totalement inutile !). Toutefois Tous le monde n'a pas l'AGA.
- Je ne l'ai pas fait à cause des tests de couleurs et de
- - Ma Paresse -
-
- Un gadget en plus vous permet de doubler la portée du Smooth.
- Je l'ai ajouté pour les écrans entrelacés. Sur ce type d'écran,
- les Smooth doublés apparaîtrons comme des Smooth `normaux'
- (Hello Adam !). Sinon ils apparaîtrons REELLEMENT doublés !
-
- ---------------------------------------------------------------
- Panneau Pick
- ---------------------------------------------------------------
- Pour stopper, clickez le bouton droit de la souris ou allez
- vers le Panneau des fonctions.
-
- Get (G) Vous permets de mémoriser une couleur dans la copperlist. Elle
- apparaîtra à l'intérieur du pointeur spécial carré.
-
- Put (F) Vous permets de placer dans la copperlist la dernière couleur
- mémorisée (cette couleur est à l'intérieur du pointeur carré),
- jusqu'à ce que vous quittiez.
- Je ne pouvait pas utiliser P en raccourcis parce qu'il est
- utilisé pour Paste, et F est près de G dans la plupart des
- claviers.
-
- ---------------------------------------------------------------
- Panneau Disk
- ---------------------------------------------------------------
- Load (Amiga+L) Un FileRequester vous permet de choisir le fichier. S'il peut
- être chargé, c'est à dire si c'est un fichier CopCon, alors
- CC-ED le charge. Si c'est un fichier mixé CC-ED vous demande
- avant quel registre couleur il doit charger.
- Si la taille de la copperlist courante est différente de celle
- du fichier, il vous sera aussi demandé si vous voulez la
- changer. Si vous ne la changez pas il y a deux cas:
- - Soit la courante est plus petite que celle du fichier,
- auquel cas la copperlist du fichier est tronquée.
- - ou c'est la taille de la copperlist du fichier qui est plus
- petite, elle est alors insérée dans la copperlist courante,
- dans sa position de sauvegarde.
-
- Save (Amiga+S) Après avoir cliqué dessus, un assez grand panneau apparaît.
- Pas de panique, je vais vous l'expliquer en détails.
-
- Dans ce Panneau, vous pouvez choisir:
- - Quelle section de la copperlist vous voulez sauver. Ce peut
- être toute la copperlist ou seulement le block que vous avez
- précédemment marqué.
- Une caractéristique en plus est que si vous choisissez de
- sauver seulement le block marqué, il sera sauvé à sa réelle
- position Y, et ainsi la copperlist commencera depuis la
- ligne la plus basse du block. Ceci entraîne qu'elle sera
- chargée et affichée en commençant sur cette ligne par Copper
- Control et CC-ED (Par exemple si vous sauvez le block entre
- les lignes 200 & 255 alors quand il sera chargé, son
- affichage affectera seulement ces lignes).
- - Le format de sauvegarde:
- 1 - Format CopCon: Sauvegarde en fichier Copper Control.
- -------------- sauve votre copperlist dans un format
- que peuvent lire Copper Control Editor et Copper
- Control. C'est bien sûr le premier format de sauvegarde
- implementé. Même si vous ne dessinez pas une copperlist
- spécialement pour copper control, il est conseillé de
- la sauver aussi dans ce format parce que vous aurez
- probablement à la recharger plus tard.
-
- 2 - Format Asm: Sauve en fichier assembleur. Je le nomme
- ----------- ainsi bien que la sauvegarde Raw puisse
- être utilisée dans d'autres langages. Sauve votre
- copperlist en copperlist réelle directement exécutable
- par le Copper. Je tiens compte des problèmes pour les
- lignes en dessous de la 255e (les coders savent ce que
- je veux dire).
- Vous pouvez sauver en fichier Raw (réellement
- directement exécutable) ou en fichier ASCII avec
- l'opcode assembleur `dc.w' (que vous devez assembler).
- Vous pouvez aussi choisir si le fichier doit contenir
- la commande de fin de copperlist (le $FFFFFFFE !).
- Ce format de sauvegarde a été implémenté pour les
- utilisateurs avancés, sinon il est assez inutile.
-
- 3 - Format Tabcol: Sauvegarde en table de couleurs, c'est à
- -------------- dire seulement les valeurs des couleurs.
- Vous pouvez aussi choisir entre les formats Raw et
- ASCII `dc.w', et en plus un format ASCII `data' pour
- les utilisateurs BASIC.
- Le switcher `Full' vous permets de choisir si CC-ED
- sauvegarde toutes les couleurs (une pour chaque ligne)
- ou seulement les différences de couleur. Par exemple,
- si on a du Rouge entre les lignes 0 & 9, et du vert
- entre les lignes 10 & 19, `Full' sauvera 20 couleurs,
- 10 rouges suivis de 10 verts. `Not full' sauvera
- seulement deux couleurs, un rouge et un vert.
- Vous pouvez trouver cela assez inutile, mais -JE-
- l'utilise et ce n'était pas dur à implémenter.
-
- Notes:
- -----
- Pour les lignes éditées, Il n'y a AUCUNE optimisation sur la
- copperlist sauvée. Ceci veut dire que pour chaque ligne éditée,
- par exemple de 44 couleurs, 44 moves seront ajouté même s'ils
- copient tous la même couleur.
- Ceci à cause de ma paresse (c'était assez dur & long pour
- modifier les algorithmes, les recoder et les tester, et je
- pense que ce supplément de travail n'était pas justifié parce
- que je suis pratiquement sûr que je ne serais PAS remercié
- pour mon travail), donc je l'implanterais peut-être dans une
- hypothétique future version. Pour l'instant, vous devrez
- l'optimiser à la main. Cependant, s'il n'y a pas de ligne
- éditée, la copperlist est sauvée à sa taille minimale.
-
- Mix Cette fonction a été implanté pour permettre à l'utilisateur
- d'avoir des copperlists multi-registre couleur.
- Je pense qu'il était trop lourd d'éditer directement les
- copperlists sur plus d'un registre couleur, à cause de
- l'occupation mémoire proportionnelle, et de maux de têtes
- possibles pour l'utilisateur (!). De plus il y a le problème de
- l'affichage des couleurs: un écran spécial devrait être ouvert
- dans la bonne profondeur divisé en aires horizontales &
- verticales pour chaque couleur, ou au moins un système de
- switching pour chaque copperlist de chaque registre. J'ai
- finalement décidé qu'il était plus simple de faire les
- copperlists séparément puis de les fusionner dans un second
- temps. C'est ce que réalise la fonction Mix.
-
- Ainsi notez que cette fonction est en fait indépendante du
- reste du programme (c'est à dire qu'elle aurait pu être un
- programme séparé). Elle fusionne deux réelles copperlists en
- seulement une. j'ai choisis que les deux copperlists doivent
- toujours porter sur des registres couleur différents, bien que
- ce ne soit en fait pas obligatoire (Il était possible de mixer
- une copperlist entre les lignes 1 et 10 sur la couleur00 avec
- une autre entre les lignes 240 et 255 sur le même registre
- couleur. Mais cela est aussi réalisable en utilisant Load !).
-
- Quand le panneau Mix apparaît, vous pouvez choisir:
-
- - La Source 1: Le premier fichier CopCon à Mixer
- - La Source 2: Le second fichier CopCon à mixer
- - La Destination: Le nom du fichier destination
- Chaque fois que vous cliquez l'un de ces gadgets, le
- filerequester apparaît. Le petit gadget `?' sur leur gauches
- vous rappelle le chemin d'accès complet du fichier
- sélectionné correspondant.
-
- - Priority: Soit Source 1, Soit Source 2.
- Désolé mais je suis forcé d'être précis pour l'explication:
- Quand on Mixe des fichiers, les seuls problèmes apparaissent
- quand Il y a des WAITs sur la même ligne dans chaque source.
- On doit alors utiliser seulement un WAIT et copier les deux
- suites de MOVEs qui suivent. En donnant la priorité à la
- source 1 par exemple copiera en premier les MOVEs de la
- source 1.
- Pourquoi utiliser cela ?
- Parce que les MOVEs copiés en second seront décalés de 8
- pixels sur la droite, à cause du hardware. Cela peut être
- assez ennuyeux !
-
- - Mode: Ceci règle le mode de Copie dans le problème
- précédemment expliqué: Soit on copie tout les moves (Normal
- mode), soit il y a le mode best matching: La différence dans
- ce mode est que celui-ci essaye autant que possible de
- copier les MOVEs à leur position originale.
- Ce mode à utiliser quand il y a des lignes éditées dans au
- moins une source, sinon vous DEVEZ utiliser l'autre mode de
- copie.
-
-
- un petit dessin pour clarifier les fonctions Priority et Mode:
- --------------------------------------------------------------
- W=Wait, M=Move. Les Wait sont les même: Y et X sont égaux.
-
- ------------------------------
- ligne dans source 1: | W | M 1.1 | M 1.2 | M 1.3 | etc...
- ------------------------------
- : : : : :
- ------------------------------
- ligne dans source 2: | W | M 2.1 | M 2.2 | M 2.3 | etc...
- ------------------------------
- Résultat: ==============:======================================================
- : : : : :
- Mode `Copy All' ------------------------------------------------------
- Priorité source 1: | W | M 1.1 | M 2.1 | M 1.2 | M 2.2 | M 1.3 | M 2.3 |..
- ------------------------------------------------------
- : : : : :
- Mode `Copy All' -----------------------------------------------------
- Priorité source 2: | W | M 2.1 | M 1.1 | M 2.2 | M 1.2 | M 2.3 | M 1.3 |..
- -----------------------------------------------------
- : : : : :
- Mode `Best Match' ------------------------------
- Priorité source 1: | W | M 1.1 | M 2.2 | M 1.3 |...
- ------------------------------
- : : : : :
- Mode `Best Match' ------------------------------
- Priorité source 2: | W | M 2.1 | M 1.2 | M 2.3 |...
- ------------------------------
-
-
- Après avoir tout réglé, cliquez sur le gadget start pour
- commencer le Mix. Deux vu-mètres apparaissent vous montrant le
- progrès du fusionnement.
- Après cela, Le panneau Save vous permet de choisir le format de
- sauvegarde. Notez que les gadgets `All/Bloc' et Color Table ne
- sont pas utilisables.
-
- Pour avoir une copperlist avec plus de deux registres couleur,
- re-mixez simplement le fichier destination avec un autre
- fichier sur un registre couleur différent des deux précédents,
- et ainsi de suite jusqu'à ce que vous ayez le nombre de
- registres que vous voulez.
-
- -------------------------------------------------------------------------------
- Histoire du programme
- -------------------------------------------------------------------------------
- Coder ce programme a demandé une semaine de mes vacances scolaires pour la
- première version utilisable. Il m'a fallut environ trois mois pour ajouter
- toutes les améliorations que je voulais ! (bien sûr pas à plein temps, comme
- je vous l'ai dit je suis étudiant). Il à été fait en tant qu'exercice
- Assembleur et programmation structurée. Dans un second temps, ce fut une
- optimisation du code intensive et un DUR debugging. Je n'ai pas assez de temps
- pour le debugging et Il y a sûrement encore quelques some BUGS. Vous devez
- savoir qu'aucun gros programme ne peut être certifié à 100% sans bug. Donc
- soyez indulgent, et s'il vous plais envoyez-moi vos bug(s!) report.
- Le progrès dans le travail était gêné par l'idée que c'était en grande partie
- pour rien. Prouvez-moi le contraire, pensez SERIEUSEMENT à contribuer.
- J'espère aussi que c'est aussi une contribution dans la démonstration de la
- puissance du COPPER & de l'OS Amiga.
-
- Une version Française ou Allemande peuvent être demandées.
- Toute Suggestions et idée sont bienvenues.
-
- -------------------------------------------------------------------------------
- ACHETER LA SOURCE DU CODE
- -------------------------------------------------------------------------------
- Le code de ce programme est très structuré et optimisé pour une taille minimale
- du code et de l'utilisation mémoire. Si vous êtes un débutant en programmation,
- ou si vous voulez voir comment ce truc tourne, je peux vous vendre les sources
- complètes (AMOS et Assembleur). Elles sont très commentées (Je fais cela pour
- moi!) et sont très facile à lire grâce à cela, à une programmation structurée
- et à des noms de variables extensifs. Si cela vous intéresse, je peux vous les
- céder pour $30 (ou 150 Francs).
-
- -------------------------------------------------------------------------------
- Suggestions à Francois Lionet
- -------------------------------------------------------------------------------
- Voici mes humbles suggestions. Elles peuvent être sans objet maintenant (J'ai
- la v1.3):
- - `Param': Pourquoi ne pas avoir fait de Fonctions, comme en C ou en Pascal.
- C'est plus facile à lire et un peu plus élégant.
- - 'Data' prend trop de place: pour environ 3000 octets de données réelle (sur
- des Words), environ 30000 sont pris sur l'exécutable! Cela m'a forcé à éviter
- de l'utiliser et de faire le stockage & la lecture des données à la main.
- - Les tableaux semblent ne pas retourner les bonnes valeurs quand ils sont gros
- (plus de 1700 éléments).
- - Il n'y a aucune possibilité pour le programmeur de contrôler la taille des
- variables. Pourquoi ?
- - 'Polygon' est amusant, mais quand vous avez un polygone de 30 cotés à
- dessiner... Pourquoi ne pas penser à ajouter une fonction ARRAYFILL, c'est
- à dire une fonction qui remplit un polygone définit par un tableau.
- - Je pense que l'Auto-ScreenSwap dans Bob Update n'as lieu d'être. Par exemple,
- quand on affiche un écran à double-buffer avec 'autoback 2' (pour pour un
- contrôle total des frames) plus un autre écran sans double-buffer avec un
- programme AMAL sur un Bob: On ne peut pas utiliser 'Bob Update off' à cause
- de ça, et vous ne pouvez avoir un contrôle total des frames. Je pense que il
- est préférable de laisser l'utilisateur choisir où et quand il échange les
- écrans.
- - Je trouve le filerequester AMOS trop lent, horrible et irritant car il n'a
- pas de buffer et qu'aucun paramètre n'est possible. Voyez la célèbre
- `Req.library'...
- - je pense que AMOS devrait être un peu plus tourné vers le WORKBENCH.
- - Pourquoi y a t'il deux modes de compilation (CLI ou Workbench). Je pense que
- vous pouvez facilement rassembler les deux en un seule. Je pourrais le
- comprendre s'il y avait une gestion des paramètres CLI et des tooltypes
- Workbench, mais ce n'est pas le cas..?
- - Pourquoi n'y a t'il pas de commande Interlace dans SCREEN OPEN, bien qu'on
- puisse charger une image entrelacée avec LOAD IFF ? Personnellement, pour
- utiliser ces écrans,j'UNPACK un écran noir entrelacé: Ca ne fait pas sérieux.
- - Les fonctions de directory (dir first$,dir next$..) cachent les fichiers info
- mais pas les fichiers du type 'filename.doc.fr.info'...
- - Pourquoi AMOS crée un viewport vide dans le workbench quand on y retourne par
- 'Amos to back' (Il est placé à partir de la ligne 245-250) ?
-
- Avec l'espoir que vous tiendrez compte de ceci.
-
- -------------------------------------------------------------------------------
- A FAIRE
- -------------------------------------------------------------------------------
- - convertisseur IFF pic <-> copperlist: Déjà codé (voyez les exemples) mais
- sortie dans une future version car il n'y a aucun interface.
- - AGA support ? (Je n'ai aucune documentation pour l'instant)
- - Un éditeur plus puissant en C (ou AMOS Pro ?)
- - Chargement de copperlists ASM et ASCII `dc.w'
- - Optimisation des lignes éditées
- - Ajouts de primitives graphiques comme draw, ligne, fill...
- - Encore plus paramétrable
- - Copperlists Animées & morphing (est-ce possible ?)
- - Chargement Workbench pour CopCon, avec tooltypes, filerequester...
- - Installation de copperlist au chargement d'autre programmes ?
- (Par exemple quand vous chargez DirOpus, CopCon le détecte et installe la
- copperlist utilisateur correspondante. Hello Adam ! )
-
- - Toute suggestion et idée est bienvenue...
-
- -------------------------------------------------------------------------------
- Remerciements & Greetings
- -------------------------------------------------------------------------------
- - Operating System Amiga: LUI fait tout le boulot, je ne fais que l'utiliser..
- - Encore plus notre merveilleux COPPER !
- - Adam CARANO : Pour son patient soutient pendant la programmation & le
- débugage (recevant une douzaine de version `finale'),
- pour beaucoup d'idées et de suggestions, et pour être
- un REEL utilisateur et supporter Amiga.
- - Mourad BELHOUCHET : Pour ses (très) nombreuses bonnes idées, les livres de
- C, les livres de Maths, et par dessus tout pour les
- livres de H.P Lovecraft. Et d'être mon ami.
- - Joseph COSTAGLIOLA : Pour son absence de soutient.
- - Stephane EISENLHOR : D'être, simplement...
- - Jean-Louis LESIEUR : Pour être si méchant et agressif avec moi. Ca fait du
- bien un peu de franchise... J'aime vraiment ton album
- musical `Lands of Pain'. (VRAIMENT !)
- - MICKAEL SERKIS : Pour avoir perdu un peu de son temps à corriger la doc
- Anglaise.
- - FINAL COPY II : Pour avoir corrigé le version française de la doc avec
- l'aide de Adam CARANO.
-
- -------------------------------------------------------------------------------
- Autres greetings
- -------------------------------------------------------------------------------
- - Ivan TRUJAS (Iron Man), Christophe HERNANDEZ (l'homme invisible),
- - Loïc DUPUY, Zef & son groupe de Trash `ETHERIZE', Fred P., Arthur,
- - Celine, Eric & Cecile, Fred M., Alain,
- - Ahmed Rehiel, Eric S., Michel, Nordine, Laurence, Rachid, Nadia, Christine,
- Sandrine, Sandra, Sabrina, Angelique, Nacer, Valerie, Youssef, Marese,
- Claude, Brigitte & Beatrice, Pio, Boule, Nadjib,
- - BATHORY,VENOM,BOLTHROWER,SEPULTURA,METALLICA,GODFLESH,CARCASS,NAPALM DEATH,
- - KLAUS SCHULZE,
- - E.M. CIORAN:
- `Exister serait une entreprise totalement impraticable
- Si on cessait d'accorder de l'importance à ce qui n'en a pas.'
- J'adore votre travail GENIAL, demos coders :
- -------------------------------------------
- The Spy(Silents), Slayer(Scoopex), Azatoth(Phenomena), Delta(Red Sector),
- Tec(CryptoBurners), Thomas Landspurg, Chaos(Sanity), Mosh(Anarchy),
- Mediator(Anarchy), Deftronic(Crionics), Lone Starr(Spaceballs), MCD(Rebels),
- Corto(quartex?), Cocy (PMC).
-