bonjour.
je débute en C. en ce moment, j'essayee de déchiffrer les sources de ctc2; c pa du gâtô qd on y comprend peu de choses....
venons-en au fait:
je voudrai savoir comment on affiche un bitmap(je viens just d'apprendre la != sprite/bitmap) 160*100 (dc sur 89) en nivo de gray, sachant ke g déclaré mes bitmaps avec:
BITMAP intro1 {160,100,{...(en hexa)...}};
BITMAP intro0 {160,100,{...(l'image ds la plan foncé)..}};
et ke je lai affiché avec:
Graymode(GRAY_ON);
SetPlane(LIGHT_PLANE);
ClrScr;
SetPlane(DARK_PLANE);
ClrScr;
BitmapPut(0,0,&(SCR_RECT){0,159,0,99},intro1,A_NORMAL);
SetPlane(LIGHT_PLANE);
BitmapPut(0,0,&(SCR_RECT){0,159,0,99},intro0,A_NORMAL);
ngetchx();
GrayMode(GRAY_OFF);
g des erreurs de compile qd je fait ça.
Qqn peu mespliquer?? ^m si y fô 1 tt autre algo, ça me gêne pa...
pendant qu'on y est, qqn peu mindiquer une bonne librairie graphique en C, ET nostub siou plait... ExtGraph, elle fai quoi?? et surtt, on la trouve où??
merci davance. et euh... désolé ke ce soit long à lire...

oui c vrai; g pa fé la fôte ds mon prog, rassure-toi...
alors??
hwti Le 24/11/2001 à 17:24 quelles sont les erreurs de tu as à la compilation ?
me rappelle pa le nom: qd je clique sur 'aller sur l'erreur', y me montre les A_NORMAL de la fct bitmapput....
Ah!! qqch à dire qd ^m : est-ce ke je peu déclarer mes 2 bitmaps en fichiers header?? paske c ce ke g fait...
hwti Le 24/11/2001 à 17:51 les erreurs (j'espère que j'ne ai pas oublié):
c'est BitmapPut(0,0,&intro1,&(SCR_RECT){{0,0,159,99}},A_NORMAL);
pareil pour l'autre
si tu veux travailler comme là avec l'écran entier, tu peux utiliser
LCD_BUFFER img;
LCD_RESTORE(img);
le format d'un LCD_BUFFER est celui de l'écran (30 octets par ligne (les 10 derniers ne sont pas utilisés sur la 89, mais on doit les mettre), 128 lignes (les 28 dernières ne sont pas utilisées sur la 89, mais on doit les mettre quand même)
LCD_RESTORE est bien plus rapide que BitmapPut
hwti Le 24/11/2001 à 18:10 LCD_BUFFER c'est le type de la variable.
LCD_BUFFER img; c'était la déclaration
tu as LCD_SAVE(img) qui sauve le contenu de l'écran dans une variable de type LCD_BUFFER
Ca marche en nvg. BitmapPut est à éviter (trop lent), il vaut mieux soit travailler avec tout l'écran (LCD_RESTORE), soit utiliser les fonctions de sprite, soit faire tes fonctions toi-même.
LCD_save ne marche pas avec les NVG, sauf en modifiant la fonction, c mieux de faire memcpy
bah avec bitmapput ça suffit, vu que tu l'affiche qu'une seule fois au debut
Les fonctions 8X (largeur multiple de 8).
RedAngel16 > t'obtient un adresse error ?
ben moi aussi parfois ça me fait la mm chose, la seul technique que j'ai trouvé c mettre ta fonction de sprite ds une nouvelle partie de programme
Pour une variable globale, static veut dire "invisible aux autres fichiers C du projet", ce qui n'est pas utile du tout.
Pour une variable locale, static veut dire qu'elle est directement dans le programme et pas sur la pile.
Et pour les unsigned long long, il faut regrouper les octets 8 par 8 (donc 0xFFFFFFFFFFFFFFFFul,0xFFFFFFFFFFFFFFFFul,...).
niuob Le 26/11/2001 à 20:22 Ca fait partie des extensions GNU C.
long long = entier 64 bits (8 octets). C'est effectivement une extension GNU.
Miles Le 27/11/2001 à 08:12 TRES interessant... Aussi rapide que les long ?
Non. Et on ne peut pas les multiplier ni les diviser avec TIGCC pour l'instant (juste +, -, << et >> fonctionnent, mais pas *, / ou % - il manque des fonctions pour ça).
FLibman = FL
François Leiber.
thanx pr la précision, Squale.
de rien.
Je sais que son pseudo sur le forum est FL.
pas sûr que son nom s'écrive comme ça...