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.91 by root, Wed Jul 4 06:38:35 2007 UTC vs.
Revision 1.94 by root, Tue Jul 31 20:03:33 2007 UTC

637 637
638 case KW_face: 638 case KW_face:
639 face = face_find (f.get_str ()); 639 face = face_find (f.get_str ());
640 break; 640 break;
641 641
642 case KW_sound:
643 sound = sound_find (f.get_str ());
644 if (!sound)
645 {
646 //TODO: really fall back to face name?
647 char face[128];
648 snprintf (face, 128, "sound/%s", f.get_str ());
649 sound = face_find (face);
650 }
651 break;
652
642 case KW_x: f.get (x); break; 653 case KW_x: f.get (x); break;
643 case KW_y: f.get (y); break; 654 case KW_y: f.get (y); break;
644 655
645 case KW_Str: // uppercase alias 656 case KW_Str: // uppercase alias
646 case KW_str: f.get (stats.Str); break; 657 case KW_str: f.get (stats.Str); break;
958 randomitems = 0; 969 randomitems = 0;
959 break; 970 break;
960 971
961 case KW_msg: 972 case KW_msg:
962 f.get_ml (KW_endmsg, msg); 973 f.get_ml (KW_endmsg, msg);
963 //TODO: allow longer messages
964 if (strlen (msg) >= HUGE_BUF)
965 {
966 LOG (llevDebug, "\tError message length >= %d: %d\n>%.80s<\n", HUGE_BUF, strlen (msg), &msg);
967 msg = "ERROR, please report: string too long, winged.\n";
968 }
969 break; 974 break;
970 975
971 case KW_lore: 976 case KW_lore:
972 f.get_ml (KW_endlore, lore); 977 f.get_ml (KW_endlore, lore);
973 //TODO: allow longer messages
974 /* Just print a warning so we can be reasonably safe
975 * about not overflowing the buffer.
976 */
977 if (strlen (lore) > (HUGE_BUF / 2))
978 LOG (llevDebug, "\tWarning lore length > %d (max allowed=%d): %d\n>%.80s<\n",
979 HUGE_BUF / 2, HUGE_BUF, strlen (lore), &lore);
980 break; 978 break;
981 979
982 case KW_editable: 980 case KW_editable:
983 case KW_editor_folder: 981 case KW_editor_folder:
984 break; 982 break;
1279 CMP_OUT (name_pl); 1277 CMP_OUT (name_pl);
1280 CMP_OUT (custom_name); 1278 CMP_OUT (custom_name);
1281 CMP_OUT (title); 1279 CMP_OUT (title);
1282 CMP_OUT (race); 1280 CMP_OUT (race);
1283 CMP_OUT (slaying); 1281 CMP_OUT (slaying);
1284
1285 if (op->msg != tmp->msg)
1286 f.put (KW_msg, KW_endmsg, op->msg);
1287 if (op->lore != tmp->lore)
1288 f.put (KW_lore, KW_endlore, op->lore);
1289
1290 CMP_OUT (other_arch); 1282 CMP_OUT (other_arch);
1291 1283
1284 if (op->msg != tmp->msg ) f.put (KW_msg , KW_endmsg , op->msg );
1285 if (op->lore != tmp->lore) f.put (KW_lore, KW_endlore, op->lore);
1286
1287 if (op->sound != tmp->sound) f.put (KW_sound, op->sound ? &faces [op->sound] : 0);
1292 if (op->face != tmp->face) f.put (KW_face, op->face ? &faces [op->face] : 0); 1288 if (op->face != tmp->face ) f.put (KW_face , op->face ? &faces [op->face ] : 0);
1293 1289
1294 if (op->animation_id != tmp->animation_id) 1290 if (op->animation_id != tmp->animation_id)
1295 if (op->animation_id) 1291 if (op->animation_id)
1296 { 1292 {
1297 f.put (KW_animation, animations[GET_ANIM_ID (op)].name); 1293 f.put (KW_animation, animations[GET_ANIM_ID (op)].name);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines