--- deliantra/server/common/readable.C 2006/09/14 22:34:00 1.9 +++ deliantra/server/common/readable.C 2007/01/03 00:21:35 1.16 @@ -112,7 +112,7 @@ static int nrofmon = 0, need_to_write_bookarchive = 0; -/* this is needed to keep track of status of initialization +/* this is needed to keep track of status of initialisation * of the message file */ static int nrofmsg = 0; @@ -638,11 +638,11 @@ /***************************************************************************** * - * Start of initialization related functions. + * Start of initialisation related functions. * ****************************************************************************/ -/* init_msgfile() - if not called before, initialize the info list +/* init_msgfile() - if not called before, initialise the info list * reads the messages file into the list pointed to by first_msg */ @@ -659,7 +659,7 @@ did_init_msgfile = 1; sprintf (fname, "%s/messages", settings.datadir); - LOG (llevDebug, "Reading messages from %s...", fname); + LOG (llevDebug, "Reading messages from %s...\n", fname); if ((fp = open_and_uncompress (fname, 0, &comp)) != NULL) { @@ -679,7 +679,7 @@ if (strlen (msgbuf) > BOOK_BUF) { LOG (llevDebug, "Warning: this string exceeded max book buf size:"); - LOG (llevDebug, " %s", msgbuf); + LOG (llevDebug, " %s\n", msgbuf); } tmp->name = msgbuf; tmp->next = first_msg; @@ -704,13 +704,13 @@ } #ifdef BOOK_MSG_DEBUG - LOG (llevDebug, "\ninit_info_listfile() got %d messages.\n", nrofmsg); + LOG (llevDebug, "init_info_listfile() got %d messages.\n", nrofmsg); #endif LOG (llevDebug, "done.\n"); } -/* init_book_archive() - if not called before, initialize the info list +/* init_book_archive() - if not called before, initialise the info list * This reads in the bookarch file into memory. bookarch is the file * created and updated across multiple runs of the program. */ @@ -790,17 +790,16 @@ bl->number++; } } - LOG (llevDebug, " book archives(used/avail): "); + LOG (llevDebug, "book archives(used/avail): \n"); for (bl = booklist, i = 0; bl != NULL && i < sizeof (max_titles) / sizeof (*max_titles); bl = bl->next, i++) { - LOG (llevDebug, "(%d/%d)", bl->number, max_titles[i]); + LOG (llevDebug, " (%d/%d)\n", bl->number, max_titles[i]); } - LOG (llevDebug, "\n"); close_and_delete (fp, comp); } #ifdef BOOK_MSG_DEBUG - LOG (llevDebug, "\n init_book_archive() got %d titles.\n", nroftitle); + LOG (llevDebug, "init_book_archive() got %d titles.\n", nroftitle); #endif LOG (llevDebug, " done.\n"); } @@ -817,6 +816,7 @@ if (did_init_mon_info) return; + did_init_mon_info = 1; @@ -824,23 +824,23 @@ { if (QUERY_FLAG (&at->clone, FLAG_MONSTER) && (!QUERY_FLAG (&at->clone, FLAG_CHANGING) || QUERY_FLAG (&at->clone, FLAG_UNAGGRESSIVE))) { - objectlink *mon = (objectlink *) malloc (sizeof (objectlink)); + objectlink *mon = new objectlink; mon->ob = &at->clone; - mon->id = nrofmon; mon->next = first_mon_info; first_mon_info = mon; nrofmon++; } } + LOG (llevDebug, "init_mon_info() got %d monsters\n", nrofmon); } -/* init_readable() - initialize linked lists utilized by +/* init_readable() - initialise linked lists utilized by * message functions in tailor_readable_ob() * - * This is the function called by the main routine to initialize + * This is the function called by the main routine to initialise * all the readable information. */ @@ -851,9 +851,10 @@ if (did_this) return; + did_this = 1; - LOG (llevDebug, "Initializing reading data..."); + LOG (llevDebug, "Initialising reading data...\n"); init_msgfile (); init_book_archive (); init_mon_info (); @@ -1099,8 +1100,8 @@ if ((tmpbook = get_archetype (t->archname)) != NULL) { tmpbook->msg = book->msg; - copy_object (tmpbook, book); - free_object (tmpbook); + tmpbook->copy_to (book); + tmpbook->destroy (); } book->title = t->authour; @@ -1467,13 +1468,13 @@ strcat (buf, art->item->msg); /* properties of the artifact */ - tmp = get_object (); + tmp = object::create (); add_abilities (tmp, art->item); tmp->type = type; SET_FLAG (tmp, FLAG_IDENTIFIED); if ((ch = describe_item (tmp, NULL)) != NULL && strlen (ch) > 1) sprintf (buf, "%s Properties of this artifact include: \n %s \n", buf, ch); - free_object (tmp); + tmp->destroy (); /* add the buf if it will fit */ if (!book_overflow (retbuf, buf, booksize)) strcat (retbuf, buf); @@ -1980,6 +1981,7 @@ } strcat (msgbuf, "\n"); /* safety -- we get ugly map saves/crashes w/o this */ + if (strlen (msgbuf) > 1) { book->msg = msgbuf; @@ -2018,15 +2020,17 @@ delete tlist; } + for (lmsg = first_msg; lmsg; lmsg = nextmsg) { nextmsg = lmsg->next; delete lmsg; } + for (monlink = first_mon_info; monlink; monlink = nextmon) { nextmon = monlink->next; - free (monlink); + delete monlink; } }