memcpy(buf, subscreens[current_screen].buf, width * height * 4);
} else {
- // find the fade factors
- int fr, fg, fb, fa;
+ // find the fade f
+ int f;
if (fade_to_new_info) {
if (elapsed_fade < 0.5) {
- fr = fg = fb = fa = unsigned(elapsed_fade/0.5 * 256.0);
+ f = unsigned(elapsed_fade/0.5 * 256.0);
} else {
- fr = fg = fb = fa = unsigned((elapsed_fade-0.5)/5.0 * 256.0);
+ f = unsigned((elapsed_fade-0.5)/5.0 * 256.0);
}
} else {
- fr = fg = fb = fa = unsigned(elapsed_fade/0.5 * 256.0);
+ f = unsigned(elapsed_fade/0.5 * 256.0);
}
unsigned char *sptr1 = fadefrom_buf;
if (fade_to_new_info && elapsed_fade >= 0.5) {
// fade G&B to be = R
for (unsigned i = 0; i < width * height; ++i) {
- dptr[0] = sptr2[0] + (((int(sptr2[2]) - int(sptr2[0])) * fb) >> 8);
- dptr[1] = sptr2[1] + (((int(sptr2[2]) - int(sptr2[1])) * fg) >> 8);
+ dptr[0] = sptr2[0] + (((int(sptr2[2]) - int(sptr2[0])) * f) >> 8);
+ dptr[1] = dptr[0];
dptr[2] = sptr2[2];
dptr[3] = sptr2[3];
}
} else {
for (unsigned i = 0; i < width * height; ++i) {
- dptr[0] = sptr1[0] + (((int(sptr2[0]) - int(sptr1[0])) * fb) >> 8);
- dptr[1] = sptr1[1] + (((int(sptr2[1]) - int(sptr1[1])) * fg) >> 8);
- dptr[2] = sptr1[2] + (((int(sptr2[2]) - int(sptr1[2])) * fr) >> 8);
- dptr[3] = sptr1[3] + (((int(sptr2[3]) - int(sptr1[3])) * fa) >> 8);
+ dptr[0] = sptr1[0] + (((int(sptr2[0]) - int(sptr1[0])) * f) >> 8);
+ dptr[1] = dptr[0];
+ dptr[2] = dptr[0];
+ dptr[3] = dptr[0];
sptr1 += 4, sptr2 += 4, dptr += 4;
}