Vous n'êtes pas identifié.
Voila dada ki ma encore fait du beau travail .... Voila mon ascii en byte/byte..... Jugez plutot...
/* KtrAscii from Ktr.h Ktr.h Copyright (c) 2002 Ktr & Dada66 www.ktr.fr.fm */ void DrawSprite(const unsigned short x, const unsigned short y, const char* sprite, const char mask, const char height) { asm{ mov cx, x; and cl, 0x7; mov si, 0x3FF; sub si, y; and x, 0xFFF8; shl x, 0x3; sub si, x; mov es, SEG1; mov dh, mask; xor dl, dl; shr dx, cl; xor dx, 0xFFFF; mov di, sprite; mov al, height;} boucle: asm{ mov bl, ds:[di]; shl bx, 0x8; inc di; dec al; shr bx, cl; and es:[si], dh; or es:[si], bh; } if(_SI > 63) { asm push si; asm sub si, 0x40; asm and es:[si], dl; asm or es:[si], bl; asm pop si; } asm dec si; asm cmp al, 0; asm jne boucle; } unsigned char ktrascii[][5] = { 0, 0, 0, 0, 0, 64, 64, 64, 0, 64, 160,160, 0, 0, 0, 160,224,160,224,160, 224,192,224, 96,224, 128, 32, 64,128, 32, 64,160, 96,160, 96, 192,192, 0, 0, 0, 32, 64, 64, 64, 32, 128, 64, 64, 64,128, 224,224,224,224,224, 0, 64,224, 64, 0, 0, 0, 0, 64,128, 0, 0,224, 0, 0, 0, 0, 0, 0,128, 32, 64, 64, 64,128, 224,160,160,160,224, 64,192, 64, 64,224, 224, 32,224,128,224, 224, 32,224, 32,224, 160,160,224, 32, 32, 224,128,224, 32,224, 224,128,224,160,224, 224,160, 32, 32, 32, 224,160,224,160,224, 224,160,224, 32,224, 0, 64, 0, 64, 0, 0, 64, 0, 64,128, 32, 96,224, 96, 32, 0,224, 0,224, 0, 128,192,224,192,128, 64,160, 32, 64, 64, 224, 32,224,160,224, 64,160,160,224,160, 192,160,192,160,192, 96,128,128,128, 96, 192,160,160,160, 192, 224,128,192,128,224, 224,128,192,128,128, 96,128,160,160, 96, 160,160,224,160,160, 224, 64, 64, 64,224, 224, 32, 32,160,224, 160,192,128,192,160, 128,128,128,128,224, 160,224,160,160,160, 160,224,224,160,160, 64,160,160,160, 64, 192,160,192,128,128, 64,160,160, 64, 32, 192,160,192,192,160, 224,128,224, 32,224, 224, 64, 64, 64, 64, 160,160,160,160,224, 160,160,160,160, 64, 160,160,160,224,160, 160,160, 64,160,160, 160,160, 64, 64,128, 224, 32, 64,128,224, 192,128,128,128,192, 128, 64, 64, 64, 32, 96, 32, 32, 32, 96, 64,160, 0, 0, 0, 0, 0, 0, 0,224, 128, 64, 0, 0, 0, 0, 64,160, 0, 0, 0, 0,160, 64, 0}; /*{ 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, // -> 32 (00) 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, //! -> 33 (01) 1,0,1, 1,0,1, 0,0,0, 0,0,0, 0,0,0, //" -> 34 (02) 1,0,1, 1,1,1, 1,0,1, 1,1,1, 1,0,1, //# -> 35 (03) 1,1,1, 1,1,0, 1,1,1, 0,1,1, 1,1,1, //$ -> 36 (04) 1,0,0, 0,0,1, 0,1,0, 1,0,0, 0,0,1, //% -> 37 (05) 0,1,0, 1,0,1, 0,1,1, 1,0,1, 0,1,1, //& -> 38 (06) 1,1,0, 1,1,0, 0,0,0, 0,0,0, 0,0,0, //ø -> 39 (07) 0,0,1, 0,1,0, 0,1,0, 0,1,0, 0,0,1, //( -> 40 (08) 1,0,0, 0,1,0, 0,1,0, 0,1,0, 1,0,0, //) -> 41 (09) 1,1,1, 1,1,1, 1,1,1, 1,1,1, 1,1,1, //* -> 42 (10) 0,0,0, 0,1,0, 1,1,1, 0,1,0, 0,0,0, //+ -> 43 (11) 0,0,0, 0,0,0, 0,0,0, 0,1,0, 1,0,0, //, -> 44 (12) 0,0,0, 0,0,0, 1,1,1, 0,0,0, 0,0,0, //- -> 45 (13) 0,0,0, 0,0,0, 0,0,0, 0,0,0, 1,0,0, //. -> 46 (14) 0,0,1, 0,1,0, 0,1,0, 0,1,0, 1,0,0, /// -> 47 (15) 1,1,1, 1,0,1, 1,0,1, 1,0,1, 1,1,1, //0 -> 48 (16) 0,1,0, 1,1,0, 0,1,0, 0,1,0, 1,1,1, //1 -> 49 (17) 1,1,1, 0,0,1, 1,1,1, 1,0,0, 1,1,1, //2 -> 50 (18) 1,1,1, 0,0,1, 1,1,1, 0,0,1, 1,1,1, //3 -> 51 (19) 1,0,1, 1,0,1, 1,1,1, 0,0,1, 0,0,1, //4 -> 52 (20) 1,1,1, 1,0,0, 1,1,1, 0,0,1, 1,1,1, //5 -> 53 (21) 1,1,1, 1,0,0, 1,1,1, 1,0,1, 1,1,1, //6 -> 54 (22) 1,1,1, 1,0,1, 0,0,1, 0,0,1, 0,0,1, //7 -> 55 (23) 1,1,1, 1,0,1, 1,1,1, 1,0,1, 1,1,1, //8 -> 56 (24) 1,1,1, 1,0,1, 1,1,1, 0,0,1, 1,1,1, //9 -> 57 (25) 0,0,0, 0,1,0, 0,0,0, 0,1,0, 0,0,0, //: -> 58 (26) 0,0,0, 0,1,0, 0,0,0, 0,1,0, 1,0,0, //; -> 59 (27) 0,0,1, 0,1,1, 1,1,1, 0,1,1, 0,0,1, //< -> 60 (28) 0,0,0, 1,1,1, 0,0,0, 1,1,1, 0,0,0, //= -> 61 (29) 1,0,0, 1,1,0, 1,1,1, 1,1,0, 1,0,0, //> -> 62 (30) 0,1,0, 1,0,1, 0,0,1, 0,1,0, 0,1,0, //? -> 63 (31) 1,1,1, 0,0,1, 1,1,1, 1,0,1, 1,1,1, //@ -> 64 (32) 0,1,0, 1,0,1, 1,0,1, 1,1,1, 1,0,1, //A -> 65 (33) 1,1,0, 1,0,1, 1,1,0, 1,0,1, 1,1,0, //B -> 66 (34) 0,1,1, 1,0,0, 1,0,0, 1,0,0, 0,1,1, //C -> 67 (35) 1,1,0, 1,0,1, 1,0,1, 1,0,1, 1,1,0, //D -> 68 (36) 1,1,1, 1,0,0, 1,1,0, 1,0,0, 1,1,1, //E -> 69 (37) 1,1,1, 1,0,0, 1,1,0, 1,0,0, 1,0,0, //F -> 70 (38) 0,1,1, 1,0,0, 1,0,1, 1,0,1, 0,1,1, //G -> 71 (39) 1,0,1, 1,0,1, 1,1,1, 1,0,1, 1,0,1, //H -> 72 (40) 1,1,1, 0,1,0, 0,1,0, 0,1,0, 1,1,1, //I -> 73 (41) 1,1,1, 0,0,1, 0,0,1, 1,0,1, 1,1,1, //J -> 74 (42) 1,0,1, 1,1,0, 1,0,0, 1,1,0, 1,0,1, //K -> 75 (43) 1,0,0, 1,0,0, 1,0,0, 1,0,0, 1,1,1, //L -> 76 (44) 1,0,1, 1,1,1, 1,0,1, 1,0,1, 1,0,1, //M -> 77 (45) 1,0,1, 1,1,1, 1,1,1, 1,0,1, 1,0,1, //N -> 78 (46) 0,1,0, 1,0,1, 1,0,1, 1,0,1, 0,1,0, //O -> 79 (47) 1,1,0, 1,0,1, 1,1,0, 1,0,0, 1,0,0, //P -> 80 (48) 0,1,0, 1,0,1, 1,0,1, 0,1,0, 0,0,1, //Q -> 81 (49) 1,1,0, 1,0,1, 1,1,0, 1,1,0, 1,0,1, //R -> 82 (50) 1,1,1, 1,0,0, 1,1,1, 0,0,1, 1,1,1, //S -> 83 (51) 1,1,1, 0,1,0, 0,1,0, 0,1,0, 0,1,0, //T -> 84 (52) 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,1,1, //U -> 85 (53) 1,0,1, 1,0,1, 1,0,1, 1,0,1, 0,1,0, //V -> 86 (54) 1,0,1, 1,0,1, 1,0,1, 1,1,1, 1,0,1, //W -> 87 (55) 1,0,1, 1,0,1, 0,1,0, 1,0,1, 1,0,1, //X -> 88 (56) 1,0,1, 1,0,1, 0,1,0, 0,1,0, 1,0,0, //Y -> 89 (57) 1,1,1, 0,0,1, 0,1,0, 1,0,0, 1,1,1, //Z -> 90 (58) 1,1,0, 1,0,0, 1,0,0, 1,0,0, 1,1,0, //[ -> 91 (5B) 1,0,0, 0,1,0, 0,1,0, 0,1,0, 0,0,1, // -> 92 (5C) 0,1,1, 0,0,1, 0,0,1, 0,0,1, 0,1,1, //] -> 93 (5D) 0,1,0, 1,0,1, 0,0,0, 0,0,0, 0,0,0, //^ -> 94 (5E) 0,0,0, 0,0,0, 0,0,0, 0,0,0, 1,1,1, //_ -> 95 (5F) 1,0,0, 0,1,0, 0,0,0, 0,0,0, 0,0,0, //' -> 96 (60) 0,0,0, 0,1,0, 1,0,1, 0,0,0, 0,0,0, //up -> 97 (61) 0,0,0, 0,0,0, 1,0,1, 0,1,0, 0,0,0 //down -> 98 (62) }; */ /*affiche une police (KTR)*/ void putchar3(const unsigned char& x, const unsigned char& y, unsigned char lettre) { lettre -= 32; DrawSprite(x, y, ktrascii[lettre], 224, 5); } void print3(const unsigned char& x, const unsigned char& y, unsigned char* string) { for(int i = 0 ; string[i] != 0 ; i++) putchar3(x + 4*i, y, string[i]); } void printline(const int& line, char* string) { print3(0,line*6+8,string); }
Merci dada
Hors ligne
ah ben ça m'arrange, je peut te la prendre pour Dir Xplor cher Ktr ?
Hors ligne
Ouaip...
Il m'a fait pareil avec les sources de Snake II...
Un gros lifting pour ce jeu...
La nouvelle version (plus rapide en affichage) sortira d'ici peu...
Dès que j'aurai testé si la versio que m'a envoyée dada66 ne contient pas de bugs !!
merci a toi dada66
Hors ligne
c a d ?
sinon superna -> bien sur fai en ce ki te plai...
Hors ligne
MERCHI !
9a va redonner du soufle a DirXplor!
pour l'instant il me faut des icones de 6*3 ki representent un exe,video,bmp et pt d'interogation
c pas un peu petit !
Hors ligne
g fait un prog en vb qui transforme les données pix/pix en octet/octet compatible avec ma fonction drawsprite.
X-thunder28 pourquoi merci mastermage? g fait ca tout seul comme un grand
Hors ligne
tu peux le filer le porg ? ca m'interesse bcp !
au fait c'est quoi 'const char mask' et pourquoi tu mes 224 ?
Hors ligne
'const char mask' c le masque, lol
ca ce lit de facon binaire, 11100000b = 224d. Ca veut dire que seulement 3 pixels seront effacé, ce qui permet de faire des sprites de taille <= 8 pixels de larges.
pour le programme, c en vb6 mais c vraiment 1 truc bateau. ct juste pour ne pas me faire ch*** à tout changer à la main.
Hors ligne
C clair j suis pour rien moi...
Dis Xth c ps parce que g fait un tuto et que g sorti des fonctions que les autres ne sont pas capables d'en faire autant...
Hors ligne
lol
en effet vous pouvez prendre mes routines !
en parlant de byte par byte, je vais develloper une routines pourn afficher un sprite sur tout le fond de l'ecran et se deplacer a gauche, a droite, en haut et en bas en voyant le scroll et tout ça hyper rapide, il faudra choisir un sprite de 16*16 qui sera affiché sur tout l'ecran
voila
car sur mon PalmIIxe, j'ai trouve un jeu, FADA, il explose, je sens que je vais le faire sur g100 !
Hors ligne