void ClipSprite8_OR(short x, short y, short h, void *sprite, void *dest) { short first_byte, bit, i, j, bt; // Draw Sprite first_byte = (y * 30) + (x >> 3); bit = (~x) & 7; for(i=0; i (LCD_WIDTH - 1) || (i + y) > (LCD_HEIGHT - 1)) continue; bt = bit - j; if (bt < 0) poke_bset(dest+first_byte+(i * 30)+1, (bt + 8)); else poke_bset(dest+first_byte+(i * 30), bt); } } }