--- deliantra/server/common/loader.C 2007/07/31 20:03:33 1.94 +++ deliantra/server/common/loader.C 2007/08/01 19:15:49 1.97 @@ -641,13 +641,10 @@ case KW_sound: sound = sound_find (f.get_str ()); - if (!sound) - { - //TODO: really fall back to face name? - char face[128]; - snprintf (face, 128, "sound/%s", f.get_str ()); - sound = face_find (face); - } + break; + + case KW_sound_destroy: + sound_destroy = sound_find (f.get_str ()); break; case KW_x: f.get (x); break; @@ -1284,8 +1281,9 @@ if (op->msg != tmp->msg ) f.put (KW_msg , KW_endmsg , op->msg ); if (op->lore != tmp->lore) f.put (KW_lore, KW_endlore, op->lore); - if (op->sound != tmp->sound) f.put (KW_sound, op->sound ? &faces [op->sound] : 0); - if (op->face != tmp->face ) f.put (KW_face , op->face ? &faces [op->face ] : 0); + if (op->face != tmp->face ) f.put (KW_face , op->face ? &faces [op->face ] : 0); + if (op->sound != tmp->sound ) f.put (KW_sound , op->sound ? &faces [op->sound ] : 0); + if (op->sound_destroy != tmp->sound_destroy) f.put (KW_sound_destroy, op->sound_destroy ? &faces [op->sound_destroy] : 0); if (op->animation_id != tmp->animation_id) if (op->animation_id)