1 |
*** compface/gen.c Tue Jan 15 23:58:46 2002 |
2 |
--- /home/lkoeller/tmp/ports/mail/faces/work/faces/compface/gen.c Wed Jun 19 08:29:13 1991 |
3 |
*************** |
4 |
*** 18,79 **** |
5 |
|
6 |
#define GEN(g) F[h] ^= G.g[k]; break |
7 |
|
8 |
! static void Gen(char *); |
9 |
|
10 |
static void |
11 |
! Gen(char *f) |
12 |
{ |
13 |
! int m, l, k, j, i, h; |
14 |
|
15 |
! for (j = 0; j < HEIGHT; j++) { |
16 |
! for (i = 0; i < WIDTH; i++) { |
17 |
h = i + j * WIDTH; |
18 |
k = 0; |
19 |
! for (l = i - 2; l <= i + 2; l++) { |
20 |
! for (m = j - 2; m <= j; m++) { |
21 |
! if ((l >= i) && (m == j)) { |
22 |
continue; |
23 |
! } |
24 |
! if ((l > 0) && (l <= WIDTH) && (m > 0)) { |
25 |
k = *(f + l + m * WIDTH) ? k * 2 + 1 : k * 2; |
26 |
} |
27 |
! } |
28 |
! } |
29 |
! switch (i) { |
30 |
case 1 : |
31 |
! switch (j) { |
32 |
case 1 : GEN(g_22); |
33 |
case 2 : GEN(g_21); |
34 |
default : GEN(g_20); |
35 |
} |
36 |
break; |
37 |
- |
38 |
case 2 : |
39 |
! switch (j) { |
40 |
case 1 : GEN(g_12); |
41 |
case 2 : GEN(g_11); |
42 |
default : GEN(g_10); |
43 |
} |
44 |
break; |
45 |
- |
46 |
case WIDTH - 1 : |
47 |
! switch (j) { |
48 |
case 1 : GEN(g_42); |
49 |
case 2 : GEN(g_41); |
50 |
default : GEN(g_40); |
51 |
} |
52 |
break; |
53 |
- |
54 |
case WIDTH : |
55 |
! switch (j) { |
56 |
case 1 : GEN(g_32); |
57 |
case 2 : GEN(g_31); |
58 |
default : GEN(g_30); |
59 |
} |
60 |
break; |
61 |
- |
62 |
default : |
63 |
! switch (j) { |
64 |
case 1 : GEN(g_02); |
65 |
case 2 : GEN(g_01); |
66 |
default : GEN(g_00); |
67 |
--- 17,81 ---- |
68 |
|
69 |
#define GEN(g) F[h] ^= G.g[k]; break |
70 |
|
71 |
! static void Gen P((char *)) ; |
72 |
|
73 |
static void |
74 |
! Gen(f) |
75 |
! register char *f; |
76 |
{ |
77 |
! register int m, l, k, j, i, h; |
78 |
|
79 |
! for (j = 0; j < HEIGHT; j++) |
80 |
! { |
81 |
! for (i = 0; i < WIDTH; i++) |
82 |
! { |
83 |
h = i + j * WIDTH; |
84 |
k = 0; |
85 |
! for (l = i - 2; l <= i + 2; l++) |
86 |
! for (m = j - 2; m <= j; m++) |
87 |
! { |
88 |
! if ((l >= i) && (m == j)) |
89 |
continue; |
90 |
! if ((l > 0) && (l <= WIDTH) && (m > 0)) |
91 |
k = *(f + l + m * WIDTH) ? k * 2 + 1 : k * 2; |
92 |
} |
93 |
! switch (i) |
94 |
! { |
95 |
case 1 : |
96 |
! switch (j) |
97 |
! { |
98 |
case 1 : GEN(g_22); |
99 |
case 2 : GEN(g_21); |
100 |
default : GEN(g_20); |
101 |
} |
102 |
break; |
103 |
case 2 : |
104 |
! switch (j) |
105 |
! { |
106 |
case 1 : GEN(g_12); |
107 |
case 2 : GEN(g_11); |
108 |
default : GEN(g_10); |
109 |
} |
110 |
break; |
111 |
case WIDTH - 1 : |
112 |
! switch (j) |
113 |
! { |
114 |
case 1 : GEN(g_42); |
115 |
case 2 : GEN(g_41); |
116 |
default : GEN(g_40); |
117 |
} |
118 |
break; |
119 |
case WIDTH : |
120 |
! switch (j) |
121 |
! { |
122 |
case 1 : GEN(g_32); |
123 |
case 2 : GEN(g_31); |
124 |
default : GEN(g_30); |
125 |
} |
126 |
break; |
127 |
default : |
128 |
! switch (j) |
129 |
! { |
130 |
case 1 : GEN(g_02); |
131 |
case 2 : GEN(g_01); |
132 |
default : GEN(g_00); |
133 |
*************** |
134 |
*** 84,109 **** |
135 |
} |
136 |
} |
137 |
|
138 |
- |
139 |
void |
140 |
GenFace() |
141 |
{ |
142 |
static char new[PIXELS]; |
143 |
! char *f1, *f2; |
144 |
! int i; |
145 |
|
146 |
f1 = new; |
147 |
f2 = F; |
148 |
i = PIXELS; |
149 |
! while (i-- > 0) { |
150 |
*(f1++) = *(f2++); |
151 |
- } |
152 |
Gen(new); |
153 |
} |
154 |
|
155 |
- |
156 |
void |
157 |
UnGenFace() |
158 |
{ |
159 |
Gen(F); |
160 |
} |
161 |
--- 86,110 ---- |
162 |
} |
163 |
} |
164 |
|
165 |
void |
166 |
GenFace() |
167 |
{ |
168 |
static char new[PIXELS]; |
169 |
! register char *f1; |
170 |
! register char *f2; |
171 |
! register int i; |
172 |
|
173 |
f1 = new; |
174 |
f2 = F; |
175 |
i = PIXELS; |
176 |
! while (i-- > 0) |
177 |
*(f1++) = *(f2++); |
178 |
Gen(new); |
179 |
} |
180 |
|
181 |
void |
182 |
UnGenFace() |
183 |
{ |
184 |
Gen(F); |
185 |
} |
186 |
+ |