Table des matières

Retourner au sommaire

Effets de transition

Des volontaires sont recherchés pour rajouter des effets de transition sympathiques.

La transition entre un humain et... Alors alors, ici le but du jeu, ça va être de vous proposer tout un tas de petites routines qui permettent de faire des effets de transition graphiques.

(à compléter)

Greyscale sur CPC+

Basé sur l'article publié dans Quasar CPC numéro 18, CPC plus, par SNN.

Alors même que tous les CPCistes veulent mettre de plus en plus de couleurs dans leurs réalisations, je vous propose, en rebelle que je suis, d'en mettre moins. Ou plutôt de convertir une bien belle palette de couleurs en infâmes niveaux de gris.

C'est en effet très joli, assez facile à réaliser et en plus, ça tombe bien, j'avais besoin d'un tel effet pour Stormlord+. Le principe est très simple. On prend la palette en cours, on fait deux/trois petits calculs, et on balance le tout à l'ASIC.

Bon courage.

— Fin.

Hop ! Un petit morphing ni vu ni connu !

Greyscale

Hein ? Quoi ? J'ai pas fini mon boulot ? Alors voyons comment faire les calculs. Comme tout le monde (sauf le petit blond à monocle1)) le sait, une palette en niveau de gris (d'où “Greyscale”) se compose de valeurs de rouge/vert/bleu identiques. Par exemple, un gris moyen (50%) sur CPC+ sera &7, &7 et &7. Soit on balance &77 au premier octet2) et &07 au deuxième3). Le traitement de la palette initiale sera vu dans une autre rubrique.

— Fin.

Greyscale

Je ne peux toujours pas partir ? Bon, continuons alors. Comme vous pouviez vous en douter, il ne suffit pas de faire la moyenne des valeurs rouges, vertes et bleues pour obtenir la valeur à poker. Non, c'eut été trop simple. Et c'est pour cela que les ignares comme le petit blond à monocle ne peuvent pas saisir la substantifique moelle de cet article délicieusement rédigé.

En fait, on se rend compte que si sur un écran on dessine trois carrés juxtaposés, l'un rempli de vert, un autre de rouge, le troisième de bleu, tous trois à la valeur &F, les intensités lumineuses de ces carrés ne sont pas identiques. Elles sont même décroissantes. Ainsi, il va falloir pondérer les valeurs de nos trois couleurs fondamentales, ce que nous verrons page 46 du numéro 37 du merveilleux fanzine qu'est Quasar CPC.

À très bientôt.

— Fin.

Greyscale

Eh mon gars ! Tu vas l'écrire cet article oui ou non ? C'est bon, lâchez ce flingue, je retourne devant mon CPC pour finir l'article ! Pfiou ! Je l'ai échappé belle !

Euh… où en étais-je ? Ah oui. Comme le vert est plus lumineux que le rouge, lui-même plus lumineux que le bleu, j'ai décidé de leur attribuer respectivement les coefficients 3, 2 et 1. Ainsi, je prends dans les registres de l'ASIC le premier octet de l'encre qui m'intéresse. Mettons &64004). Je sauve soigneusement l'octet et j'en prends les 4 derniers bits (4 à 7). Je RRAte le tout quatre fois et je double tout ça avec un ADD A,A bien senti. Résultat : la valeur de rouge est doublée, je suis heureux. J'y ajoute les quatre premiers bits issus de &6400 (la composante bleue) et je sauve. Pour le vert, même principe mais je multiplie par trois (voir le programme d'exemple ci-après) et finalement j'ajoute les jaunes d'œufs à la farine et au sucre en poudre, lentement pour qu'il n'y ait pas de grumeaux. Oups, pardon, je m'égare.

Tiens, ça me fait penser que je n'ai pas rempli mon quota de vacheries anti-Tony dans cet article. Alors : “Tony, va cliquer ailleurs, c'est des trucs pour grandes personnes ici !”.

Finalement, la somme n'est pas à diviser par 3, mais bien par 6. Or comme ce n'est pas très facile de trouver un moyen de diviser par 6, je vous propose de revenir en 6ème. Flash back (imaginez la maîtresse avec son morceau de craie, sa règle jaune de un mètre et son gros compas que vous rêviez de prendre pour lui planter dans l'œil) “Diviser par 6 c'est soustraire 6, x fois où x est le résultat.” Fin du flash back. Opérons donc.

Magie, un résultat compris entre 0 et &F. On trafique un peu pour que les quatre premiers bits soient recopiés sur les quatre derniers, on balance la purée en &6400 et comme &6401 tire la tronche, on fait de même pour lui.

Résultat : ça marche et moi je vous souhaite une excellente soirée sur notre chaîne. Tout de suite, la météo.

C'est bon là, je peux partir ? Merci, vous êtes bien urbains.

— Fin.

Listing : Greyscale

Télécharger le listing au format Maxam 1.5

; Programme de conversion
; de palette couleurs en
;    niveaux de gris
;
; Par SNN pour Quasar CPC 18
;
Grey    xor a
        ld (compt),a
        ld hl,&6400
        ld (base),hl
Boucle  ld hl,0
        ld de,(base)
        inc de
 
; Traitement du vert
 
        ld a,(de)
        and %1111
        ld c,a
        ld b,0
        add hl,bc
        add hl,bc
        add hl,bc
        dec de
 
; Traitement du rouge
 
        ld a,(de)
        and %11110000
        rra
        rra
        rra
        rra
        ld c,a
        add hl,bc
        add hl,bc
 
; Traitement du bleu
 
        ld a,(de)
        and %1111
        ld c,a
        add hl,bc
 
; Division par 6
 
        xor a
        ld bc,6
Divise  sbc hl,bc
        inc a
        jr nc,divise
        ld (resultat),a
        or a
        jr z,annul
        dec a
        ld (resultat),a
 
; Recopiage bits 0-3 dans
; bits 4-7 puis envoi a
; l'Asic.   
 
Annul   ld b,a
        and %1111
        rla
        rla
        rla
        rla
        add a,b
 
        ld hl,(base)
        ld (hl),a
        inc hl
        ld (hl),a
        inc hl
        ld (base),hl
 
; On passe à l'encre
; suivante...
 
        ld a,(compt)
        inc a
        ld (compt),a
        cp 16
        jp nz,boucle
        ret                        
 
; Compteurs - Stockage
 
Resultat
        nop
Compt   nop
Base    ds 2
1) Oui, il avait une paire de lunettes normale, mais en prévoyant que je suis, j'ai préféré lui filer un coup de poing salvateur avant même le début de mon article
2) qui contient le rouge et le bleu
3) qui contient le vert
4) le registre de couleur ASIC qui contient l'encre 0.