1 | /* |
1 | /* |
2 | * static char *rcsid_map_c = |
2 | * static char *rcsid_map_c = |
3 | * "$Id: map.C,v 1.1 2006/08/13 17:16:00 elmex Exp $"; |
3 | * "$Id: map.C,v 1.2 2006/08/15 15:00:20 elmex Exp $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | /* |
6 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
7 | CrossFire, A Multiplayer game for X-windows |
8 | |
8 | |
… | |
… | |
268 | retval |= P_NEW_MAP; |
268 | retval |= P_NEW_MAP; |
269 | if (newmap) *newmap = mp; |
269 | if (newmap) *newmap = mp; |
270 | if (nx) *nx = newx; |
270 | if (nx) *nx = newx; |
271 | if (ny) *ny = newy; |
271 | if (ny) *ny = newy; |
272 | retval |= mp->spaces[newx + mp->width * newy].flags; |
272 | retval |= mp->spaces[newx + mp->width * newy].flags; |
|
|
273 | if (mp->safe_map) |
|
|
274 | retval |= P_NO_MAGIC | P_NO_CLERIC | P_SAFE_MAP; |
273 | return retval; |
275 | return retval; |
274 | } |
276 | } |
275 | |
277 | |
276 | |
278 | |
277 | /* |
279 | /* |
… | |
… | |
945 | m->winddir = atoi(value); |
947 | m->winddir = atoi(value); |
946 | } else if (!strcmp(key, "sky")) { |
948 | } else if (!strcmp(key, "sky")) { |
947 | m->sky = atoi(value); |
949 | m->sky = atoi(value); |
948 | } else if (!strcmp(key, "nosmooth")) { |
950 | } else if (!strcmp(key, "nosmooth")) { |
949 | m->nosmooth = atoi(value); |
951 | m->nosmooth = atoi(value); |
|
|
952 | } else if (!strcmp(key, "safe_map")) { |
|
|
953 | m->safe_map = atoi(value); |
950 | } |
954 | } |
951 | else if (!strncmp(key,"tile_path_", 10)) { |
955 | else if (!strncmp(key,"tile_path_", 10)) { |
952 | int tile=atoi(key+10); |
956 | int tile=atoi(key+10); |
953 | |
957 | |
954 | if (tile<1 || tile>4) { |
958 | if (tile<1 || tile>4) { |
… | |
… | |
1306 | if (m->humid) fprintf(fp, "humid %d\n", m->humid); |
1310 | if (m->humid) fprintf(fp, "humid %d\n", m->humid); |
1307 | if (m->windspeed) fprintf(fp, "windspeed %d\n", m->windspeed); |
1311 | if (m->windspeed) fprintf(fp, "windspeed %d\n", m->windspeed); |
1308 | if (m->winddir) fprintf(fp, "winddir %d\n", m->winddir); |
1312 | if (m->winddir) fprintf(fp, "winddir %d\n", m->winddir); |
1309 | if (m->sky) fprintf(fp, "sky %d\n", m->sky); |
1313 | if (m->sky) fprintf(fp, "sky %d\n", m->sky); |
1310 | if (m->nosmooth) fprintf(fp, "nosmooth %d\n", m->nosmooth); |
1314 | if (m->nosmooth) fprintf(fp, "nosmooth %d\n", m->nosmooth); |
|
|
1315 | if (m->safe_map) fprintf(fp, "safe_map %d\n", m->safe_map); |
1311 | |
1316 | |
1312 | /* Save any tiling information, except on overlays */ |
1317 | /* Save any tiling information, except on overlays */ |
1313 | if (flag != 2) |
1318 | if (flag != 2) |
1314 | for (i=0; i<4; i++) |
1319 | for (i=0; i<4; i++) |
1315 | if (m->tile_path[i]) |
1320 | if (m->tile_path[i]) |