*** compface/gen.c Tue Jan 15 23:58:46 2002 --- /home/lkoeller/tmp/ports/mail/faces/work/faces/compface/gen.c Wed Jun 19 08:29:13 1991 *************** *** 18,79 **** #define GEN(g) F[h] ^= G.g[k]; break ! static void Gen(char *); static void ! Gen(char *f) { ! int m, l, k, j, i, h; ! for (j = 0; j < HEIGHT; j++) { ! for (i = 0; i < WIDTH; i++) { h = i + j * WIDTH; k = 0; ! for (l = i - 2; l <= i + 2; l++) { ! for (m = j - 2; m <= j; m++) { ! if ((l >= i) && (m == j)) { continue; ! } ! if ((l > 0) && (l <= WIDTH) && (m > 0)) { k = *(f + l + m * WIDTH) ? k * 2 + 1 : k * 2; } ! } ! } ! switch (i) { case 1 : ! switch (j) { case 1 : GEN(g_22); case 2 : GEN(g_21); default : GEN(g_20); } break; - case 2 : ! switch (j) { case 1 : GEN(g_12); case 2 : GEN(g_11); default : GEN(g_10); } break; - case WIDTH - 1 : ! switch (j) { case 1 : GEN(g_42); case 2 : GEN(g_41); default : GEN(g_40); } break; - case WIDTH : ! switch (j) { case 1 : GEN(g_32); case 2 : GEN(g_31); default : GEN(g_30); } break; - default : ! switch (j) { case 1 : GEN(g_02); case 2 : GEN(g_01); default : GEN(g_00); --- 17,81 ---- #define GEN(g) F[h] ^= G.g[k]; break ! static void Gen P((char *)) ; static void ! Gen(f) ! register char *f; { ! register int m, l, k, j, i, h; ! for (j = 0; j < HEIGHT; j++) ! { ! for (i = 0; i < WIDTH; i++) ! { h = i + j * WIDTH; k = 0; ! for (l = i - 2; l <= i + 2; l++) ! for (m = j - 2; m <= j; m++) ! { ! if ((l >= i) && (m == j)) continue; ! if ((l > 0) && (l <= WIDTH) && (m > 0)) k = *(f + l + m * WIDTH) ? k * 2 + 1 : k * 2; } ! switch (i) ! { case 1 : ! switch (j) ! { case 1 : GEN(g_22); case 2 : GEN(g_21); default : GEN(g_20); } break; case 2 : ! switch (j) ! { case 1 : GEN(g_12); case 2 : GEN(g_11); default : GEN(g_10); } break; case WIDTH - 1 : ! switch (j) ! { case 1 : GEN(g_42); case 2 : GEN(g_41); default : GEN(g_40); } break; case WIDTH : ! switch (j) ! { case 1 : GEN(g_32); case 2 : GEN(g_31); default : GEN(g_30); } break; default : ! switch (j) ! { case 1 : GEN(g_02); case 2 : GEN(g_01); default : GEN(g_00); *************** *** 84,109 **** } } - void GenFace() { static char new[PIXELS]; ! char *f1, *f2; ! int i; f1 = new; f2 = F; i = PIXELS; ! while (i-- > 0) { *(f1++) = *(f2++); - } Gen(new); } - void UnGenFace() { Gen(F); } --- 86,110 ---- } } void GenFace() { static char new[PIXELS]; ! register char *f1; ! register char *f2; ! register int i; f1 = new; f2 = F; i = PIXELS; ! while (i-- > 0) *(f1++) = *(f2++); Gen(new); } void UnGenFace() { Gen(F); } +