| 295 | } |
| 296 | |
| 297 | boolean |
| 298 | mapfrag_match(struct mapfragment *mf, int x, int y) |
| 299 | { |
| 300 | int rx, ry; |
| 301 | |
| 302 | for (rx = -(mf->wid / 2); rx <= (mf->wid / 2); rx++) |
| 303 | for (ry = -(mf->hei / 2); ry <= (mf->hei / 2); ry++) { |
| 304 | schar mapc = mapfrag_get(mf, rx + (mf->wid / 2), |
| 305 | ry + (mf->hei / 2)); |
| 306 | schar levc = isok(x+rx, y+ry) ? levl[x+rx][y+ry].typ : STONE; |
| 307 | |
| 308 | if (!match_maptyps(mapc, levc)) |
| 309 | return FALSE; |
| 310 | } |
| 311 | return TRUE; |
| 312 | } |
| 313 | |
| 314 | staticfn void |
| 315 | solidify_map(void) |
no test coverage detected