ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/arch.C
(Generate patch)

Comparing deliantra/server/common/arch.C (file contents):
Revision 1.65 by root, Thu Jun 7 18:55:24 2007 UTC vs.
Revision 1.67 by root, Sat Jun 9 21:16:12 2007 UTC

69find_archetype_by_object_name (const char *name) 69find_archetype_by_object_name (const char *name)
70{ 70{
71 shstr_cmp name_cmp (name); 71 shstr_cmp name_cmp (name);
72 72
73 for_all_archetypes (at) 73 for_all_archetypes (at)
74 if (at->archname == name_cmp) 74 if (at->name == name_cmp)
75 return at; 75 return at;
76 76
77 return 0; 77 return 0;
78} 78}
79 79
86find_archetype_by_object_type_name (int type, const char *name) 86find_archetype_by_object_type_name (int type, const char *name)
87{ 87{
88 shstr_cmp name_cmp (name); 88 shstr_cmp name_cmp (name);
89 89
90 for_all_archetypes (at) 90 for_all_archetypes (at)
91 if (at->archname == name_cmp && at->type == type) 91 if (at->name == name_cmp && at->type == type)
92 return at; 92 return at;
93 93
94 return 0; 94 return 0;
95} 95}
96 96
443 archetype *less = new_head; 443 archetype *less = new_head;
444 for (auto (p, parts.begin () + 1); p != parts.end (); ++p) 444 for (auto (p, parts.begin () + 1); p != parts.end (); ++p)
445 { 445 {
446 archetype *at = *p; 446 archetype *at = *p;
447 447
448 // some flags get inherited formt he head (probably a lot more)
449 // doing it here doesn't feel too cozy, but it allows code
450 // to ignore head checks for these flags, which saves time
451 at->flag [FLAG_ALIVE] = new_head->flag [FLAG_ALIVE];
452 at->flag [FLAG_NO_PICK] = new_head->flag [FLAG_NO_PICK];
453 at->flag [FLAG_MONSTER] = new_head->flag [FLAG_MONSTER];
454 at->flag [FLAG_IS_FLOOR] = new_head->flag [FLAG_IS_FLOOR];
455
448 if (at->x < new_head->min_x) new_head->min_x = at->x; 456 if (at->x < new_head->min_x) new_head->min_x = at->x;
449 if (at->y < new_head->min_y) new_head->min_y = at->y; 457 if (at->y < new_head->min_y) new_head->min_y = at->y;
450 if (at->x > new_head->max_x) new_head->max_x = at->x; 458 if (at->x > new_head->max_x) new_head->max_x = at->x;
451 if (at->y > new_head->max_y) new_head->max_y = at->y; 459 if (at->y > new_head->max_y) new_head->max_y = at->y;
452 460
520 528
521 if (!strcmp (name, "bug")) 529 if (!strcmp (name, "bug"))
522 abort (); 530 abort ();
523 531
524 char buf[MAX_BUF]; 532 char buf[MAX_BUF];
525 sprintf (buf, "bug, please report (%s)", ARCH_SINGULARITY, name); 533 sprintf (buf, "bug, please report (%s)", name);
526 534
527 object *op = get_archetype ("bug"); 535 object *op = get_archetype ("bug");
528 op->name = op->name_pl = buf; 536 op->name = op->name_pl = buf;
529 537
530 return op; 538 return op;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines