--- deliantra/server/common/loader.C 2008/04/10 15:35:15 1.106 +++ deliantra/server/common/loader.C 2008/04/11 14:09:56 1.107 @@ -531,18 +531,11 @@ { case KW_uuid: if (const char *s = f.get_str ()) - { - unsigned int version; - unsigned long long seq; - - if (2 == sscanf (s, "<%d.%llx>", &version, &seq) && version == 1) - { - uuid.seq = seq; - break; - } - } - - uuid = UUID::gen (); + if (!uuid.parse (s)) + { + f.parse_warn ("unparseable uuid"); + uuid = UUID::gen (); + } break; case KW_oid: @@ -602,7 +595,7 @@ : archetype::find (f.get_str ()); if (!other_arch) - LOG (llevError, "%s uses unknown other_arch '%s'.\n", debug_desc (), f.get_str ()); + f.parse_warn (format ("%s uses unknown other_arch '%s'.\n", debug_desc (), f.get_str ())); break; case KW_owner: @@ -1270,11 +1263,7 @@ * will get taken care of the copy_to method. */ - { - char uids[64]; - snprintf (uids, sizeof (uids), "<1.%llx>", (unsigned long long)op->uuid.seq); - f.put (KW_uuid, (const char *)uids); - } + f.put (KW_uuid, op->uuid.c_str ()); #define CMP_OUT(v) if (expect_false (op->v != tmp->v)) f.put (KW_ ## v, op->v) #define CMP_OUT2(k,v) if (expect_false (op->v != tmp->v)) f.put (KW_ ## k, op->v)