
(mais pour ça faudrait que je pense à la débuguer

jackiechan91 a écrit :
Je pense que cette fonction marche :
unsigned short Test(short x,short y,BITMAP *sprt) { return (sprt->Data[((sprt->NumCols>>3)*y)+(x>>3)] & (1<<(7-(x%8)))); }Et j'ai fait un bench, je suis arrivé à environ 13571 tests/s
unsigned short Test(short x,short y,BITMAP *sprt) { return (sprt->Data[(((sprt->NumCols>>3)+((sprt->NumCols & 7)?1:0))*y)+(x>>3)] & (1<<(7-(x & 7)))); }
Bob 64
a écrit : Pkoi je ne peux pas faire BitmapSize(&(SCR_RECT){{0,0,10,10}}) ?
GX_clrscr: ; Code provenant de la bibliothèque Azur ; Optimisation : Julien Monville movem.l d3-d7/a2-a7,GXSvgReg move.l 4(a7),a7 lea 3840(a7),a7 moveq #0,d0 moveq #0,d1 moveq #0,d2 moveq #0,d3 moveq #0,d4 moveq #0,d5 moveq #0,d6 move.w d0,a0 move.w d0,a1 move.w d0,a2 move.w d0,a3 move.w d0,a4 move.w d0,a5 move.w d0,a6 moveq #10,d7 GXCS_loop: movem.l d0-d6/a0-a6,-(a7) movem.l d0-d6/a0-a6,-(a7) movem.l d0-d6/a0-a6,-(a7) movem.l d0-d6/a0-a6,-(a7) movem.l d0-d6/a0-a6,-(a7) movem.l d0-d6/a0-a6,-(a7) dbf d7,GXCS_loop movem.l d0-d6/a0-a6,-(a7) movem.l d0-d6/a0-a6,-(a7) movem.l d0-d6/a0,-(a7) movem.l GXSvgReg(pc),d3-d7/a2-a7 rts GXSvgReg: ds.l 5+6