Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 02 Aug 2002 10:51:03

mastermage
Magicien G100
Lieu: Charleville-Mézières,Compiègne
Date d'inscription: 31 Jan 2002
Messages: 1008

Afficher un sprite de 16x16 en gris avec la transparence

Bon g edite ce post et supprime cette routine buggee a mort...

Hors ligne

 

#2 02 Aug 2002 10:53:30

mastermage
Magicien G100
Lieu: Charleville-Mézières,Compiègne
Date d'inscription: 31 Jan 2002
Messages: 1008

Re: Afficher un sprite de 16x16 en gris avec la transparence

les adresses sont dans le style nasm

genre [es:di+bx]
il faudra peut etre les mettre au style tasm pour turbo c:
genre es:[di+bx]

si il y a des problemes n'hesitez pas a le demander

Hors ligne

 

#3 02 Aug 2002 13:41:30

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: Afficher un sprite de 16x16 en gris avec la transparence

donne un exemple de sprite stp car je vois pas trop


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#4 02 Aug 2002 14:22:44

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: Afficher un sprite de 16x16 en gris avec la transparence

Et puis, c'est pour le mode CB c ça? Bon je vais tester[/code]


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#5 02 Aug 2002 16:10:16

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: Afficher un sprite de 16x16 en gris avec la transparence

t'as oublié un ", dl" dans la version C!

Sinon débug ça! J'arrive pas à afficher!


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#6 02 Aug 2002 22:29:35

mastermage
Magicien G100
Lieu: Charleville-Mézières,Compiègne
Date d'inscription: 31 Jan 2002
Messages: 1008

Re: Afficher un sprite de 16x16 en gris avec la transparence

mmmmmmmmmmmmmm....

pfou c trop complique...

bon je vais essayer de faire rapidos un tuto avec des images et ce que je peux faire chez ma famille d'accueil(sejour linguistique), parce que si il y a des bugs c que g que 30 minutes par jour sur internet (meme si je peux aller tant que je veux sur l'ordi) pour pas bloquer leur telephone, et ke g pas que graph100.com a aller voir...

mais bon g reussi download cdk et "g100 2eme ed." alors je v essayer...

attendez deux jours et vous aurez votre super tutorial avec des sources OK ???
merci...

Hors ligne

 

#7 03 Aug 2002 04:23:18

Superna
Ex-Trouvetou G100
Lieu: Sous Linux ^^
Date d'inscription: 01 Feb 2002
Messages: 2275
Site web

Re: Afficher un sprite de 16x16 en gris avec la transparence

pour les images, predns BMP2C de moi car tu peut convertyir de sbmp en mode inline enfin bon voila, quoi sinon c pa pour la concurence mais g aussi fait une routine, tu peut t'en inspirer :

Code:

void sprite16(int x,int y, int nb){  //Merci a whyp pour la routine D3
int i;asm {    mov bx,x
        mov si,y
        shl si,4
        mov cl,bl
        shr bl,3
        and cl,7
        add si,bx }
for(i=0;i<16;i++){
_BX=sprite16db[nb][0][15-i]; asm {
        mov ch,cl         // Sauve cl
        mov dx,bx        // Copie le sprite en 2
        shl dh,cl        // ! On deplace le sprite pour corespondre
        shl dl,cl        // ! (1er et 3eme byte)
        mov al,8        // )
        sub al,cl        // ) Calcule du deplacement
        mov cl,al        // ) (2nd et 4eme byte)
        shr bh,cl        // ! On deplace le sprite pour correspondre
        shr bl,cl        // ! (2nd et 4eme byte)
        mov al,bl        // ) on fait le byte du milieu avec le 32eme et le 3eme byte
        or al,dh        // )
        or es:[si],dl        // On copie le 1er byte
        inc si            // On recule
        or es:[si],al        // On copie le byte du milieu
        inc si            // On recule
        or es:[si],bh        // On copie le 3eme byte
        sub si,2
        mov cl,ch    }    // On recupere CL
    _BX=sprite16db[nb][1][15-i];
        asm {            // Pareil sauf certains points
        mov ax,es        // )
        add ax,0x80        // ) On passe sur la 3eme couche
        mov es,ax        // )
        mov ch,cl         // Sauve cl
        mov dx,bx        // Copie le sprite en 2
        shl dh,cl        // ! On deplace le sprite pour corespondre
        shl dl,cl        // !
        mov al,8        // )
        sub al,cl        // ) Calcule du deplacement
        mov cl,al        // ) (2nd et 4eme byte)
        shr bh,cl        // ! On deplace le sprite pour correspondre
        shr bl,cl        // ! (2nd et 4eme byte)
        mov al,bl        // ) on fait le byte du milieu avec le 32eme et le 3eme byte
        or al,dh        // )
        or es:[si],dl        // On copie le 1er byte
        inc si            // On recule
        or es:[si],al        // On copie le byte du milieu
        inc si            // On recule
        or es:[si],bh        // On copie le 3eme byte
        mov cl,ch        // On recupere CL
        mov ax,es        // )
        sub ax,0x80        // ) On retourne a la 1ere couche
        mov es,ax        // )
        add si,14    }}}    // ! On passe a la ligne suivante

Voila toute debugée

Hors ligne

 

#8 03 Aug 2002 11:27:00

mastermage
Magicien G100
Lieu: Charleville-Mézières,Compiègne
Date d'inscription: 31 Jan 2002
Messages: 1008

Re: Afficher un sprite de 16x16 en gris avec la transparence

Je viens de m'apercevoir ke g fait une enorme faute...

Je ne suis pas du tout d'accord avec cet horrible melange de c et d'asm.
Libre a chacun de l'utiliser mais le fait d'utiliser du C comme ca avec l'asm ralentit beaucoup la routine, surtout avec le tableau et la boucle for

bon mes nerfs sont calmes je continue mon tuto, g deja ecris une grosse partie pour expliquer pourquoi il faut pas utiliser le C, avec du code sorti du compilateur comme exemple...

bon je l'enverrai dimanche soir heure locale... (lundi matin chez vous)

Hors ligne

 

#9 03 Aug 2002 14:43:49

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: Afficher un sprite de 16x16 en gris avec la transparence

yea merci mastermage!

Sinon SUperNa a fini de débug ses routines, et je vais aller les modif pour enlever la boucle avec for, ce sera mieux donc


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#10 04 Aug 2002 03:19:13

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Afficher un sprite de 16x16 en gris avec la transparence

pour ca j' utilise que du c mooi  :oops:


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#11 04 Aug 2002 03:58:39

Superna
Ex-Trouvetou G100
Lieu: Sous Linux ^^
Date d'inscription: 01 Feb 2002
Messages: 2275
Site web

Re: Afficher un sprite de 16x16 en gris avec la transparence

Ben voila, pour les nerf de mastermage, Une routine, efficace, rapide, facile et toute en ASM
Pas un brin de C !!
Voila, amusez-vous bien !!!

Code:

void sprite16(int x,int y, int nb){  //Merci a whyp pour la routine D3
asm {        mov bx,x
        mov si,y
        shl si,4
        mov cl,bl
        shr bl,3
        and cl,7
        add si,bx
        add si,240
        mov ch,0 }
debut:
asm {    mov di,offset sprite16db
        mov ax,nb
        shl ax,6
        xor bx,bx
        mov bl,ch
        shl bx,1
        add di,ax
        add di,bx
        mov dx,ds:[di]
        add di,32
        mov ax,ds:[di]
        xor bx,bx
        mov bl,dh
        shl dx,cl
        shl bx,cl
        or es:[si],dx
        add si,2
        or es:[si],bh
        add si,0x800
        xor bx,bx
        mov bl,ah
        shl ax,cl
        shl bx,cl
        or es:[si],bh
        sub si,2
        or es:[si],ax
        sub si,0x800
        sub si,16
        inc ch
        cmp ch,16
        jb debut    }}

Voila, pour info, je l'ai faite sans la tester sur la caltos, seulement avec un prog qui me sors un tab en fichier csp que je convertit en bmp et voila
Donc mastermage,plus d'excuses pour ne pas debugger !!

Hors ligne

 

#12 04 Aug 2002 10:18:31

mastermage
Magicien G100
Lieu: Charleville-Mézières,Compiègne
Date d'inscription: 31 Jan 2002
Messages: 1008

Re: Afficher un sprite de 16x16 en gris avec la transparence

Pour superna: g deja envoye mon tuto a casiomax, il le mettra surement sur son site web, et j'y ai mis des trucs pour 8pixels et 16 pixels, gere tout les modes video, masques, niveaux de gris, etc...

bon ce post sert plus a rien pour casiomax et si vous voulez le tuto demandez lui

Hors ligne

 

#13 04 Aug 2002 11:48:35

Superna
Ex-Trouvetou G100
Lieu: Sous Linux ^^
Date d'inscription: 01 Feb 2002
Messages: 2275
Site web

Re: Afficher un sprite de 16x16 en gris avec la transparence

je sais mastermage, je met juste cette fonction car casioM@x s'en sert pour son jeu et donc je veut que tout le monde en profite, voila, c'est tout
Sinon j'ai vu le tuto, voilou

Hors ligne

 

#14 04 Aug 2002 22:33:31

mastermage
Magicien G100
Lieu: Charleville-Mézières,Compiègne
Date d'inscription: 31 Jan 2002
Messages: 1008

Re: Afficher un sprite de 16x16 en gris avec la transparence

J'ai sorti une nouvelle version corrigee y avait plein de fautes

http://www.mastermage3000.fr.st

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr