|
|
1 | |
1 | /* |
2 | /* |
2 | CrossFire, A Multiplayer game for X-windows |
3 | CrossFire, A Multiplayer game for X-windows |
3 | |
4 | |
4 | Copyright (C) 1994 Mark Wedel |
5 | Copyright (C) 1994 Mark Wedel |
5 | Copyright (C) 1992 Frank Tore Johansen |
6 | Copyright (C) 1992 Frank Tore Johansen |
… | |
… | |
150 | connect_spirals (int xsize, int ysize, int sym, char **layout) |
151 | connect_spirals (int xsize, int ysize, int sym, char **layout) |
151 | { |
152 | { |
152 | |
153 | |
153 | int i, j, ic = xsize / 2, jc = ysize / 2; |
154 | int i, j, ic = xsize / 2, jc = ysize / 2; |
154 | |
155 | |
155 | if (sym == X_SYM) |
156 | if (sym == SYMMETRY_X) |
156 | { |
157 | { |
157 | layout[ic][jc] = 0; |
158 | layout[ic][jc] = 0; |
158 | /* go left from map center */ |
159 | /* go left from map center */ |
159 | for (i = ic - 1, j = jc; i > 0 && layout[i][j] == '#'; i--) |
160 | for (i = ic - 1, j = jc; i > 0 && layout[i][j] == '#'; i--) |
160 | layout[i][j] = 0; |
161 | layout[i][j] = 0; |
161 | /* go right */ |
162 | /* go right */ |
162 | for (i = ic + 1, j = jc; i < xsize - 1 && layout[i][j] == '#'; i++) |
163 | for (i = ic + 1, j = jc; i < xsize - 1 && layout[i][j] == '#'; i++) |
163 | layout[i][j] = 0; |
164 | layout[i][j] = 0; |
164 | } |
165 | } |
165 | |
166 | |
166 | if (sym == Y_SYM) |
167 | if (sym == SYMMETRY_Y) |
167 | { |
168 | { |
168 | |
169 | |
169 | layout[ic][jc] = 0; |
170 | layout[ic][jc] = 0; |
170 | /* go up */ |
171 | /* go up */ |
171 | for (i = ic, j = jc - 1; j > 0 && layout[i][j] == '#'; j--) |
172 | for (i = ic, j = jc - 1; j > 0 && layout[i][j] == '#'; j--) |
… | |
… | |
173 | /* go down */ |
174 | /* go down */ |
174 | for (i = ic, j = jc + 1; j < ysize - 1 && layout[i][j] == '#'; j++) |
175 | for (i = ic, j = jc + 1; j < ysize - 1 && layout[i][j] == '#'; j++) |
175 | layout[i][j] = 0; |
176 | layout[i][j] = 0; |
176 | } |
177 | } |
177 | |
178 | |
178 | if (sym == XY_SYM) |
179 | if (sym == SYMMETRY_XY) |
179 | { |
180 | { |
180 | /* go left from map center */ |
181 | /* go left from map center */ |
181 | layout[ic][jc / 2] = 0; |
182 | layout[ic][jc / 2] = 0; |
182 | layout[ic / 2][jc] = 0; |
183 | layout[ic / 2][jc] = 0; |
183 | layout[ic][jc / 2 + jc] = 0; |
184 | layout[ic][jc / 2 + jc] = 0; |