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.2 by root, Mon Sep 4 11:07:59 2006 UTC vs.
Revision 1.4 by root, Mon Sep 4 15:51:24 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;
624 op->move_slow |= MOVE_WALK; 625 op->move_slow |= MOVE_WALK;
625 thawer.get (op->move_slow_penalty); 626 thawer.get (op->move_slow_penalty);
626 break; 627 break;
627 628
628 case KW_face: 629 case KW_face:
630 if (const char *str = thawer.get_str ())
629 op->face = &new_faces[FindFace (thawer.get_str (), 0)]; 631 op->face = &new_faces[FindFace (str, 0)];
632 else
633 op->face = 0;
630 break; 634 break;
631 635
632 case KW_x: thawer.get (op->x); break; 636 case KW_x: thawer.get (op->x); break;
633 case KW_y: thawer.get (op->y); break; 637 case KW_y: thawer.get (op->y); break;
638 case KW_Str: // uppercase alias
634 case KW_str: thawer.get (op->stats.Str); break; 639 case KW_str: thawer.get (op->stats.Str); break;
640 case KW_Dex: // uppercase alias
635 case KW_dex: thawer.get (op->stats.Dex); break; 641 case KW_dex: thawer.get (op->stats.Dex); break;
642 case KW_Con: // uppercase alias
636 case KW_con: thawer.get (op->stats.Con); break; 643 case KW_con: thawer.get (op->stats.Con); break;
644 case KW_Wis: // uppercase alias
637 case KW_wis: thawer.get (op->stats.Wis); break; 645 case KW_wis: thawer.get (op->stats.Wis); break;
646 case KW_Cha: // uppercase alias
638 case KW_cha: thawer.get (op->stats.Cha); break; 647 case KW_cha: thawer.get (op->stats.Cha); break;
648 case KW_Int: // uppercase alias
639 case KW_int: thawer.get (op->stats.Int); break; 649 case KW_int: thawer.get (op->stats.Int); break;
650 case KW_Pow: // uppercase alias
640 case KW_pow: thawer.get (op->stats.Pow); break; 651 case KW_pow: thawer.get (op->stats.Pow); break;
641 case KW_hp: thawer.get (op->stats.hp); break; 652 case KW_hp: thawer.get (op->stats.hp); break;
642 case KW_maxhp: thawer.get (op->stats.maxhp); break; 653 case KW_maxhp: thawer.get (op->stats.maxhp); break;
643 case KW_sp: thawer.get (op->stats.sp); break; 654 case KW_sp: thawer.get (op->stats.sp); break;
644 case KW_maxsp: thawer.get (op->stats.maxsp); break; 655 case KW_maxsp: thawer.get (op->stats.maxsp); break;
965 976
966 case KW_editable: 977 case KW_editable:
967 case KW_editor_folder: 978 case KW_editor_folder:
968 break; 979 break;
969 980
981 case KW_More: // uppercase alias
970 case KW_more: 982 case KW_more:
971 /* We need to record that this is a multipart object, 983 /* We need to record that this is a multipart object,
972 * so the calling function can glue things back together 984 * so the calling function can glue things back together
973 */ 985 */
974 ismore = 1; 986 ismore = 1;
996 thawer.line += strlen (thawer.line) + 1; 1008 thawer.line += strlen (thawer.line) + 1;
997 1009
998 break; 1010 break;
999 1011
1000 default: 1012 default:
1001 printf ("kw abort %d\n", kw);//D 1013 printf ("kw abort %s\n", keyword_str [kw]);//D
1002 abort (); 1014 abort ();
1003 } 1015 }
1004 } 1016 }
1005} 1017}
1006 1018
1133 */ 1145 */
1134 if (all_count <=1) return retbuf_all+1; 1146 if (all_count <=1) return retbuf_all+1;
1135 else return retbuf+1; 1147 else return retbuf+1;
1136} 1148}
1137 1149
1138
1139// compare *op against *tmp and output differences 1150// compare *op against *tmp and output differences
1140void 1151void
1141put (object_freezer &f, object *op, object *tmp) 1152put (object_freezer &f, object *op, object *tmp)
1142{ 1153{
1143 int i; 1154 int i;
1173 if (op->lore != tmp->lore) f.put (KW_lore, KW_endlore, op->lore); 1184 if (op->lore != tmp->lore) f.put (KW_lore, KW_endlore, op->lore);
1174 1185
1175 CMP_OUT (other_arch); 1186 CMP_OUT (other_arch);
1176 CMP_OUT (face); 1187 CMP_OUT (face);
1177 1188
1189 if (!op->face || !op->face->name)
1190 printf ("ERRFACE<%s,%s, face %p,%p, fname%s>\n", &tmp->name, &op->name, tmp->face, op->face, op->face ? &op->face->name : "<noface>");//D
1191
1178 if (op->animation_id != tmp->animation_id) 1192 if (op->animation_id != tmp->animation_id)
1179 if (op->animation_id) 1193 if (op->animation_id)
1180 { 1194 {
1181 f.put (KW_animation, animations[GET_ANIM_ID (op)].name); 1195 f.put (KW_animation, animations[GET_ANIM_ID (op)].name);
1182 1196
1183 if (!QUERY_FLAG (op, FLAG_ANIMATE)) 1197 if (!QUERY_FLAG (op, FLAG_ANIMATE))
1184 f.put (KW_is_animated, 0); 1198 f.put (KW_is_animated, (sint32)0);
1185 } 1199 }
1186 else 1200 else
1187 f.put (KW_animation, "NONE"); 1201 f.put (KW_animation, (const char *)0);
1188 1202
1189 CMP_OUT2 (str , stats.Str); 1203 CMP_OUT2 (str , stats.Str);
1190 CMP_OUT2 (dex , stats.Dex); 1204 CMP_OUT2 (dex , stats.Dex);
1191 CMP_OUT2 (con , stats.Con); 1205 CMP_OUT2 (con , stats.Con);
1192 CMP_OUT2 (wis , stats.Wis); 1206 CMP_OUT2 (wis , stats.Wis);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines