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

Comparing deliantra/server/common/object.C (file contents):
Revision 1.61 by root, Mon Dec 11 21:32:16 2006 UTC vs.
Revision 1.62 by root, Mon Dec 11 23:35:37 2006 UTC

2524 * create clone from object to another 2524 * create clone from object to another
2525 */ 2525 */
2526object * 2526object *
2527object_create_clone (object *asrc) 2527object_create_clone (object *asrc)
2528{ 2528{
2529 object *
2530 dst = NULL, *tmp, *src, *part, *prev, *item; 2529 object *dst = 0, *tmp, *src, *part, *prev, *item;
2531 2530
2532 if (!asrc) 2531 if (!asrc)
2533 return NULL; 2532 return 0;
2533
2534 src = asrc; 2534 src = asrc;
2535 if (src->head) 2535 if (src->head)
2536 src = src->head; 2536 src = src->head;
2537 2537
2538 prev = NULL; 2538 prev = 0;
2539 for (part = src; part; part = part->more) 2539 for (part = src; part; part = part->more)
2540 { 2540 {
2541 tmp = get_object (); 2541 tmp = get_object ();
2542 copy_object (part, tmp); 2542 copy_object (part, tmp);
2543 tmp->x -= src->x; 2543 tmp->x -= src->x;
2544 tmp->y -= src->y; 2544 tmp->y -= src->y;
2545
2545 if (!part->head) 2546 if (!part->head)
2546 { 2547 {
2547 dst = tmp; 2548 dst = tmp;
2548 tmp->head = NULL; 2549 tmp->head = 0;
2549 } 2550 }
2550 else 2551 else
2551 { 2552 {
2552 tmp->head = dst; 2553 tmp->head = dst;
2553 } 2554 }
2555
2554 tmp->more = NULL; 2556 tmp->more = 0;
2557
2555 if (prev) 2558 if (prev)
2556 prev->more = tmp; 2559 prev->more = tmp;
2560
2557 prev = tmp; 2561 prev = tmp;
2558 } 2562 }
2559 2563
2560 for (item = src->inv; item; item = item->below) 2564 for (item = src->inv; item; item = item->below)
2561 insert_ob_in_ob (object_create_clone (item), dst); 2565 insert_ob_in_ob (object_create_clone (item), dst);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines