void set_image_alpha(Image *image, unsigned char alpha) { int i, size; Color *pixel; unsigned int alpha_mod; if(!image || !image->data) return; size = image->textureWidth * image->textureHeight; pixel = image->data; if(alpha > 100) alpha = 100; alpha_mod = ((alpha * 255) / 100) << 24; for(i = 0; i <= size; i++) { *pixel = (*pixel & 0x00ffffff) | alpha_mod; pixel++; } }