#import "qedefs.h" @implementation EntityArray /* ================= insertEC: ================= */ - (void)insertEC: ec { char *name; int i; name = [ec classname]; for (i=0 ; i<[self count] ; i++) { if (strcasecmp (name, [[self objectAtIndex: i] classname]) < 0) { [self insertObject: ec atIndex:i]; return; } } [self addObject: ec]; } /* ================= scanFile ================= */ - (void)scanFile: (char *)filename { int size; char *data; id cl; int i; char path[1024]; sprintf (path,"%s/%s", source_path, filename); size = LoadFile (path, (void *)&data); for (i=0 ; id_name) <= 3) continue; if (!strcmp (ent->d_name+strlen(ent->d_name)-3,".qc")) [self scanFile: ent->d_name]; } } id entity_classes_i; - initForSourceDirectory: (char *)path { [super init]; source_path = path; [self scanDirectory]; entity_classes_i = self; nullclass = [[EntityClass alloc] initFromText: "/*QUAKED UNKNOWN_CLASS (0 0.5 0) ?"]; return self; } - (id)classForName: (char *)name { int i; id o; for (i=0 ; i<[self count] ; i++) { o = [self objectAtIndex: i]; if (!strcmp (name,[o classname]) ) return o; } return nullclass; } @end