--- deliantra/server/common/arch.C 2006/08/27 16:15:11 1.4 +++ deliantra/server/common/arch.C 2006/08/28 14:05:23 1.5 @@ -1,6 +1,6 @@ /* * static char *rcsid_arch_c = - * "$Id: arch.C,v 1.4 2006/08/27 16:15:11 root Exp $"; + * "$Id: arch.C,v 1.5 2006/08/28 14:05:23 root Exp $"; */ /* @@ -401,17 +401,15 @@ * Reads/parses the archetype-file, and copies into a linked list * of archetype-structures. */ -void first_arch_pass(FILE *fp) { +void first_arch_pass(object_thawer &fp) { object *op; archetype *at,*head=NULL,*last_more=NULL; int i,first=2; - object_thawer thawer; - op=get_object(); op->arch=first_archetype=at=get_archetype_struct(); - while((i=load_object(fp,thawer,op,first,0))) { + while((i=load_object(fp,op,first,0))) { first=0; copy_object(op,&at->clone); at->clone.speed_left= (float) (-0.1); @@ -550,7 +548,10 @@ #if TIME_ARCH_LOAD GETTIMEOFDAY(&tv1); #endif - first_arch_pass(fp); + { + object_thawer thawer (fp); + first_arch_pass (thawer); + } #if TIME_ARCH_LOAD { int sec, usec; GETTIMEOFDAY(&tv2);