ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cf.schmorp.de/server/common/map.C
(Generate patch)

Comparing cf.schmorp.de/server/common/map.C (file contents):
Revision 1.26 by pippijn, Thu Sep 7 09:37:12 2006 UTC vs.
Revision 1.28 by root, Fri Sep 8 18:26:22 2006 UTC

1/* 1/*
2 * static char *rcsid_map_c = 2 * static char *rcsid_map_c =
3 * "$Id: map.C,v 1.26 2006/09/07 09:37:12 pippijn Exp $"; 3 * "$Id: map.C,v 1.28 2006/09/08 18:26:22 root 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
255 if (mp != oldmap) 255 if (mp != oldmap)
256 retval |= P_NEW_MAP; 256 retval |= P_NEW_MAP;
257 if (newmap) *newmap = mp; 257 if (newmap) *newmap = mp;
258 if (nx) *nx = newx; 258 if (nx) *nx = newx;
259 if (ny) *ny = newy; 259 if (ny) *ny = newy;
260
260 retval |= mp->spaces[newx + mp->width * newy].flags; 261 retval |= mp->spaces[newx + mp->width * newy].flags;
261
262 if (retval & P_SAFE)
263 retval |= P_NO_MAGIC | P_NO_CLERIC; // P_SAFE does imply these
264 262
265 return retval; 263 return retval;
266} 264}
267 265
268 266
704 number_of_entries++; 702 number_of_entries++;
705 if (p) p++; 703 if (p) p++;
706 } 704 }
707 p=shop_string; 705 p=shop_string;
708 strip_endline(p); 706 strip_endline(p);
709 items=(shopitems *) CALLOC(number_of_entries+1, sizeof(shopitems)); 707 items = new shopitems [number_of_entries + 1];
710 memset(items, 0, (sizeof(shopitems) * number_of_entries+1));
711 for (i=0; i<number_of_entries; i++) { 708 for (i=0; i<number_of_entries; i++) {
712 if (!p) { 709 if (!p) {
713 LOG(llevError, "parse_shop_string: I seem to have run out of string, that shouldn't happen.\n"); 710 LOG(llevError, "parse_shop_string: I seem to have run out of string, that shouldn't happen.\n");
714 break; 711 break;
715 } 712 }
1412 if (flag && m->spaces) free_all_objects(m); 1409 if (flag && m->spaces) free_all_objects(m);
1413 if (m->name) FREE_AND_CLEAR(m->name); 1410 if (m->name) FREE_AND_CLEAR(m->name);
1414 if (m->spaces) FREE_AND_CLEAR(m->spaces); 1411 if (m->spaces) FREE_AND_CLEAR(m->spaces);
1415 if (m->msg) FREE_AND_CLEAR(m->msg); 1412 if (m->msg) FREE_AND_CLEAR(m->msg);
1416 if (m->maplore) FREE_AND_CLEAR(m->maplore); 1413 if (m->maplore) FREE_AND_CLEAR(m->maplore);
1417 if (m->shopitems) FREE_AND_CLEAR(m->shopitems); 1414 if (m->shopitems) delete [] m->shopitems; m->shopitems = 0;
1418 if (m->shoprace) FREE_AND_CLEAR(m->shoprace); 1415 if (m->shoprace) FREE_AND_CLEAR(m->shoprace);
1419 if (m->buttons) 1416 if (m->buttons)
1420 free_objectlinkpt(m->buttons); 1417 free_objectlinkpt(m->buttons);
1421 m->buttons = NULL; 1418 m->buttons = NULL;
1422 for (i=0; i<4; i++) { 1419 for (i=0; i<4; i++) {
1806 if (QUERY_FLAG(tmp,FLAG_NO_MAGIC)) 1803 if (QUERY_FLAG(tmp,FLAG_NO_MAGIC))
1807 flags |= P_NO_MAGIC; 1804 flags |= P_NO_MAGIC;
1808 if (QUERY_FLAG(tmp,FLAG_DAMNED)) 1805 if (QUERY_FLAG(tmp,FLAG_DAMNED))
1809 flags |= P_NO_CLERIC; 1806 flags |= P_NO_CLERIC;
1810 if (tmp->type == SAFE_GROUND) 1807 if (tmp->type == SAFE_GROUND)
1811 flags |= P_SAFE | P_NO_CLERIC | P_NO_MAGIC; 1808 flags |= P_SAFE;
1812 1809
1813 if (QUERY_FLAG(tmp,FLAG_BLOCKSVIEW)) 1810 if (QUERY_FLAG(tmp,FLAG_BLOCKSVIEW))
1814 flags |= P_BLOCKSVIEW; 1811 flags |= P_BLOCKSVIEW;
1815 } /* for stack of objects */ 1812 } /* for stack of objects */
1816 1813

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines