home *** CD-ROM | disk | FTP | other *** search
/ Superpower (Alt) / SUPERPOWER.iso / q / source / dictlist.m < prev    next >
Encoding:
Text File  |  1996-08-08  |  914 b   |  70 lines

  1.  
  2. #import "qedefs.h"
  3.  
  4. @implementation DictList
  5.  
  6. //
  7. //    Read in variable # of objects from FILE *
  8. //
  9. - initListFromFile:(FILE *)fp
  10. {
  11.     id    d;
  12.     
  13.     [super init];
  14.     do
  15.     {
  16.         d = [(Dict *)[Dict alloc] initFromFile:fp];
  17.         if (d != NULL)
  18.             [self addObject:d];
  19.     } while(d != NULL);
  20.     [d free];
  21.     
  22.     return self;
  23. }
  24.  
  25. //
  26. //    Write out list file
  27. //
  28. - writeListFile:(char *)filename
  29. {
  30.     FILE    *fp;
  31.     int        i;
  32.     id        obj;
  33.     
  34.     fp = fopen(filename,"w+t");
  35.     if (fp == NULL)
  36.         return NULL;
  37.         
  38.     fprintf(fp,"// Object List written by QuakeEd\n");
  39.  
  40.     for (i = 0;i < maxElements;i++)
  41.     {
  42.         obj = [self objectAt:i];
  43.         [obj writeBlockTo:fp];
  44.     }
  45.     fclose(fp);
  46.     
  47.     return self;
  48. }
  49.  
  50. //
  51. //    Find the keyword in all the Dict objects
  52. //
  53. - (id) findDictKeyword:(char *)key
  54. {
  55.     int        i;
  56.     dict_t    *d;
  57.     id        dict;
  58.  
  59.     for (i = 0;i < maxElements;i++)
  60.     {
  61.         dict = [self objectAt:i];
  62.         d = [(Dict *)dict findKeyword:key];
  63.         if (d != NULL)
  64.             return dict;
  65.     }
  66.     return NULL;
  67. }
  68.  
  69. @end
  70.