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

Comparing deliantra/server/common/loader.C (file contents):
Revision 1.3 by root, Mon Sep 4 13:55:54 2006 UTC vs.
Revision 1.7 by root, Mon Sep 4 17:34:50 2006 UTC

509 { 509 {
510 keyword kw = thawer.get_kv (); 510 keyword kw = thawer.get_kv ();
511 511
512 switch (kw) 512 switch (kw)
513 { 513 {
514 case KW_Object: // uppercase alias
514 case KW_object: 515 case KW_object:
515 thawer.get (op->name); 516 thawer.get (op->name);
516 517
517 if (op->arch != NULL) 518 if (op->arch != NULL)
518 op->arch->name = op->name; 519 op->arch->name = op->name;
554 } 555 }
555 556
556 parse_object (tmp, thawer, map_flags); 557 parse_object (tmp, thawer, map_flags);
557 558
558 if (tmp->arch) 559 if (tmp->arch)
560 {
559 insert_ob_in_ob (tmp, op); 561 // was: insert_ob_in_ob (tmp, op);
562 // but manually adding it can improve map loading times a lot
563 CLEAR_FLAG (tmp, FLAG_OBJ_ORIGINAL);
564 CLEAR_FLAG (tmp, FLAG_REMOVED);
565 tmp->env = op;
566
567 if (!op->inv)
568 op->inv = tmp;
569 else
570 {
571 tmp->below = op->inv;
572 tmp->below->above = tmp;
573 op->inv = tmp;
574 }
575 }
560 else 576 else
561 { 577 {
562 LOG (llevDebug, "Discarding object without arch: %s\n", 578 LOG (llevDebug, "Discarding object without arch: %s\n",
563 tmp->name ? (const char *) tmp->name : "(null)"); 579 tmp->name ? (const char *) tmp->name : "(null)");
564 free_object (tmp); 580 free_object (tmp);
632 op->face = 0; 648 op->face = 0;
633 break; 649 break;
634 650
635 case KW_x: thawer.get (op->x); break; 651 case KW_x: thawer.get (op->x); break;
636 case KW_y: thawer.get (op->y); break; 652 case KW_y: thawer.get (op->y); break;
653 case KW_Str: // uppercase alias
637 case KW_str: thawer.get (op->stats.Str); break; 654 case KW_str: thawer.get (op->stats.Str); break;
655 case KW_Dex: // uppercase alias
638 case KW_dex: thawer.get (op->stats.Dex); break; 656 case KW_dex: thawer.get (op->stats.Dex); break;
657 case KW_Con: // uppercase alias
639 case KW_con: thawer.get (op->stats.Con); break; 658 case KW_con: thawer.get (op->stats.Con); break;
659 case KW_Wis: // uppercase alias
640 case KW_wis: thawer.get (op->stats.Wis); break; 660 case KW_wis: thawer.get (op->stats.Wis); break;
661 case KW_Cha: // uppercase alias
641 case KW_cha: thawer.get (op->stats.Cha); break; 662 case KW_cha: thawer.get (op->stats.Cha); break;
663 case KW_Int: // uppercase alias
642 case KW_int: thawer.get (op->stats.Int); break; 664 case KW_int: thawer.get (op->stats.Int); break;
665 case KW_Pow: // uppercase alias
643 case KW_pow: thawer.get (op->stats.Pow); break; 666 case KW_pow: thawer.get (op->stats.Pow); break;
644 case KW_hp: thawer.get (op->stats.hp); break; 667 case KW_hp: thawer.get (op->stats.hp); break;
645 case KW_maxhp: thawer.get (op->stats.maxhp); break; 668 case KW_maxhp: thawer.get (op->stats.maxhp); break;
646 case KW_sp: thawer.get (op->stats.sp); break; 669 case KW_sp: thawer.get (op->stats.sp); break;
647 case KW_maxsp: thawer.get (op->stats.maxsp); break; 670 case KW_maxsp: thawer.get (op->stats.maxsp); break;
968 991
969 case KW_editable: 992 case KW_editable:
970 case KW_editor_folder: 993 case KW_editor_folder:
971 break; 994 break;
972 995
996 case KW_More: // uppercase alias
973 case KW_more: 997 case KW_more:
974 /* We need to record that this is a multipart object, 998 /* We need to record that this is a multipart object,
975 * so the calling function can glue things back together 999 * so the calling function can glue things back together
976 */ 1000 */
977 ismore = 1; 1001 ismore = 1;
999 thawer.line += strlen (thawer.line) + 1; 1023 thawer.line += strlen (thawer.line) + 1;
1000 1024
1001 break; 1025 break;
1002 1026
1003 default: 1027 default:
1004 printf ("kw abort %s\n", keyword_str [kw]);//D 1028 LOG (llevError, "UNSUPPORTED KEYWORD IN MAP: \"%s\", bug in normaliser. skipping.\n", keyword_str [kw]);
1005 abort (); 1029 break;
1006 } 1030 }
1007 } 1031 }
1008} 1032}
1009 1033
1010/* 1034/*

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines