home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume7 / nethack3 / patch7d / patch7.22
Text File  |  1990-02-26  |  57KB  |  1,961 lines

  1. *** src/Old/topten.c    Mon Feb 19 19:03:06 1990
  2. --- src/topten.c    Mon Feb  5 18:28:48 1990
  3. ***************
  4. *** 1,9 ****
  5. ! /*    SCCS Id: @(#)topten.c    3.0    89/11/15
  6.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  7.   /* NetHack may be freely redistributed.  See license for details. */
  8.   
  9.   /* block some unused #defines to avoid overloading some cpp's */
  10. - #define MONATTK_H
  11.   #include "hack.h"
  12.   
  13.   #ifndef MACOS
  14. --- 1,10 ----
  15. ! /*    SCCS Id: @(#)topten.c    3.0    89/12/31
  16.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  17.   /* NetHack may be freely redistributed.  See license for details. */
  18.   
  19. + #define MONATTK_H    /* comment line for pre-compiled headers */
  20. + #define MONFLAG_H    /* comment line for pre-compiled headers */
  21.   /* block some unused #defines to avoid overloading some cpp's */
  22.   #include "hack.h"
  23.   
  24.   #ifndef MACOS
  25. ***************
  26. *** 12,20 ****
  27. --- 13,28 ----
  28.   extern short macflags;
  29.   extern WindowPtr    HackWindow;
  30.   #endif
  31.   #ifdef NO_FILE_LINKS
  32.   #include <fcntl.h>    /* Ralf Brown */
  33.   #endif
  34. + #include <ctype.h>
  35. + #ifdef LATTICE
  36. + static void FDECL(lattice_mung_line,(char*));
  37. + static void FDECL(lattice_unmung_line,(char*));
  38. + #endif
  39.   
  40.   #define newttentry() (struct toptenentry *) alloc(sizeof(struct toptenentry))
  41.   #define    NAMSZ    10
  42. ***************
  43. *** 22,27 ****
  44. --- 30,36 ----
  45.   #define    PERSMAX     3        /* entries per name/uid per char. allowed */
  46.   #define    POINTSMIN    1    /* must be > 0 */
  47.   #define    ENTRYMAX    100    /* must be >= 10 */
  48.   #ifndef MSDOS
  49.   #define    PERS_IS_UID        /* delete for PERSMAX per name; now per uid */
  50.   #endif
  51. ***************
  52. *** 37,48 ****
  53.       char date[7];        /* yymmdd */
  54.   } *tt_head;
  55.   
  56. ! static char *FDECL(itoa, (int)), *FDECL(ordin, (int));
  57.   static void outheader();
  58.   static int FDECL(outentry, (int,struct toptenentry *,int));
  59.   
  60.   void
  61. ! topten(){
  62.       int uid = getuid();
  63.       int rank, rank0 = -1, rank1 = 0;
  64.       int occ_cnt = PERSMAX;
  65. --- 46,67 ----
  66.       char date[7];        /* yymmdd */
  67.   } *tt_head;
  68.   
  69. ! static char *FDECL(itoa, (int));
  70. ! static const char *FDECL(ordin, (int));
  71.   static void outheader();
  72.   static int FDECL(outentry, (int,struct toptenentry *,int));
  73.   
  74. + /* must fit with end.c */
  75. + static const char *killed_by_prefix[] = {
  76. +     "killed by ", "choked on ", "poisoned by ", "", "drowned in ",
  77. +     "", "crushed to death by ", "petrified by ", "",
  78. +     "", "",
  79. +     "", "", "" };
  80.   void
  81. ! topten(how)
  82. ! int how;
  83. ! {
  84.       int uid = getuid();
  85.       int rank, rank0 = -1, rank1 = 0;
  86.       int occ_cnt = PERSMAX;
  87. ***************
  88. *** 57,63 ****
  89.       char *reclock = "record_lock;1";
  90.       char recfile[] = RECORD;
  91.   #else
  92. !     char *recfile = RECORD;
  93.   #endif
  94.   #if defined(UNIX) || defined(VMS)
  95.       int sleepct = 100;
  96. --- 76,82 ----
  97.       char *reclock = "record_lock;1";
  98.       char recfile[] = RECORD;
  99.   #else
  100. !     const char *recfile = RECORD;
  101.   #endif
  102.   #if defined(UNIX) || defined(VMS)
  103.       int sleepct = 100;
  104. ***************
  105. *** 99,106 ****
  106.       t0->uid = uid;
  107.       (void) strncpy(t0->name, plname, NAMSZ);
  108.       (t0->name)[NAMSZ] = 0;
  109. !     (void) strncpy(t0->death, killer, DTHSZ);
  110. !     (t0->death)[DTHSZ] = 0;
  111.       Strcpy(t0->date, getdate());
  112.   
  113.   #ifdef LOGFILE        /* used for debugging (who dies of what, where) */
  114. --- 118,138 ----
  115.       t0->uid = uid;
  116.       (void) strncpy(t0->name, plname, NAMSZ);
  117.       (t0->name)[NAMSZ] = 0;
  118. !     (t0->death)[0] = 0;
  119. !     switch (killer_format) {
  120. !         default: impossible("bad killer format?");
  121. !         case KILLED_BY_AN:
  122. !             Strcat(t0->death, killed_by_prefix[how]),
  123. !             (void) strncat(t0->death, an(killer), DTHSZ);
  124. !             break;
  125. !         case KILLED_BY:
  126. !             Strcat(t0->death, killed_by_prefix[how]),
  127. !             (void) strncat(t0->death, killer, DTHSZ);
  128. !             break;
  129. !         case NO_KILLER_PREFIX:
  130. !             (void) strncat(t0->death, killer, DTHSZ);
  131. !             break;
  132. !     }
  133.       Strcpy(t0->date, getdate());
  134.   
  135.   #ifdef LOGFILE        /* used for debugging (who dies of what, where) */
  136. ***************
  137. *** 195,203 ****
  138.           if (!(rfile = fopen(recfile,"r"))) {
  139.               short    i;
  140.       
  141. !             rfile = openFile(recfile);
  142.               
  143. -             t = (term_info *)GetWRefCon(HackWindow);
  144.               for (i = 0;i < t->maxRow; i++) {
  145.                   MoveTo(Screen_Border,
  146.                   t->ascent + (i * t->height) + Screen_Border);
  147. --- 227,234 ----
  148.           if (!(rfile = fopen(recfile,"r"))) {
  149.               short    i;
  150.       
  151. !             rfile = openFile(recfile,"r");
  152.               
  153.               for (i = 0;i < t->maxRow; i++) {
  154.                   MoveTo(Screen_Border,
  155.                   t->ascent + (i * t->height) + Screen_Border);
  156. ***************
  157. *** 226,251 ****
  158.       tprev = 0;
  159.       /* rank0: -1 undefined, 0 not_on_list, n n_th on list */
  160.       for(rank = 1; ; ) {
  161. ! #ifdef OLD_TOS
  162. !         char k1[2],k2[2];
  163. !         if(fscanf(rfile, "%6s %d %d %d %d %d %ld %1s%1s %s %s]",
  164.   #else
  165.           if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
  166. ! #endif
  167.           t1->date, &t1->uid,
  168.           &t1->level, &t1->maxlvl,
  169.           &t1->hp, &t1->maxhp, &t1->points,
  170. - #ifdef OLD_TOS
  171. -         k1, k2,
  172. - #else
  173.           &t1->plchar, &t1->sex,
  174. ! #endif
  175.           t1->name, t1->death) != 11 || t1->points < POINTSMIN)
  176.               t1->points = 0;
  177. ! #ifdef OLD_TOS
  178. !         t1->plchar=k1[0];
  179. !         t1->sex=k2[0];
  180.   #endif
  181.           if(rank0 < 0 && t1->points < t0->points) {
  182.           rank0 = rank++;
  183. --- 257,279 ----
  184.       tprev = 0;
  185.       /* rank0: -1 undefined, 0 not_on_list, n n_th on list */
  186.       for(rank = 1; ; ) {
  187. ! #ifdef LATTICE
  188. !         if(fscanf(rfile,"%6s %d %d %d %d %d %ld%*c%c%c %s %s",
  189.   #else
  190.           if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
  191. ! #endif /* LATTICE */
  192.           t1->date, &t1->uid,
  193.           &t1->level, &t1->maxlvl,
  194.           &t1->hp, &t1->maxhp, &t1->points,
  195.           &t1->plchar, &t1->sex,
  196. ! #ifdef LATTICE    /* return value is broken also, sigh */
  197. !         t1->name, t1->death) <1    || t1->points < POINTSMIN)
  198. ! #else
  199.           t1->name, t1->death) != 11 || t1->points < POINTSMIN)
  200. + #endif
  201.               t1->points = 0;
  202. ! #ifdef LATTICE
  203. !         lattice_unmung_line(t1->death);
  204.   #endif
  205.           if(rank0 < 0 && t1->points < t0->points) {
  206.           rank0 = rank++;
  207. ***************
  208. *** 314,324 ****
  209. --- 342,360 ----
  210.       if(!done_stopprint) outheader();
  211.       t1 = tt_head;
  212.       for(rank = 1; t1->points != 0; rank++, t1 = t1->tt_next) {
  213. + #ifdef LATTICE
  214. +       lattice_mung_line(t1->death);
  215. +       if(flg) (void) fprintf(rfile,"%6s %d %d %d %d %d %ld %c%c %s %s\n",
  216. + #else
  217.         if(flg) (void) fprintf(rfile,"%6s %d %d %d %d %d %ld %c%c %s,%s\n",
  218. + #endif
  219.           t1->date, t1->uid,
  220.           t1->level, t1->maxlvl,
  221.           t1->hp, t1->maxhp, t1->points,
  222.           t1->plchar, t1->sex, t1->name, t1->death);
  223. + #ifdef LATTICE
  224. +       lattice_unmung_line(t1->death);
  225. + #endif
  226.         if(done_stopprint) continue;
  227.         if(rank > flags.end_top &&
  228.           (rank < rank0-flags.end_around || rank > rank0+flags.end_around)
  229. ***************
  230. *** 385,399 ****
  231.   register struct toptenentry *t1;
  232.   register int rank, so;
  233.   {
  234. !     register boolean quit = FALSE, iskilled = FALSE, starv = FALSE,
  235. !         isstoned = FALSE;
  236. !     char linebuf[BUFSZ];
  237. !     linebuf[0] = 0;
  238.       if(rank) Sprintf(eos(linebuf), " %2d", rank);
  239. !         else Strcat(linebuf, "   ");
  240. !     Sprintf(eos(linebuf), " %7ld  %.10s", t1->points, t1->name);
  241.       Sprintf(eos(linebuf), "-%c ", t1->plchar);
  242.       if(!strncmp("escaped", t1->death, 7)) {
  243.         if(!strcmp(" (with the Amulet)", t1->death+7))
  244.           Strcat(linebuf, "escaped the dungeon with the Amulet");
  245.         else
  246. --- 421,437 ----
  247.   register struct toptenentry *t1;
  248.   register int rank, so;
  249.   {
  250. !     register boolean second_line = TRUE;
  251. !     char linebuf[BUFSZ], linebuf2[BUFSZ];
  252. !     linebuf[0] = linebuf2[0] = 0;
  253.       if(rank) Sprintf(eos(linebuf), " %2d", rank);
  254. !     else Strcat(linebuf, "   ");
  255. !     Sprintf(eos(linebuf), " %10ld  %.10s", t1->points, t1->name);
  256.       Sprintf(eos(linebuf), "-%c ", t1->plchar);
  257.       if(!strncmp("escaped", t1->death, 7)) {
  258. +       second_line = FALSE;
  259.         if(!strcmp(" (with the Amulet)", t1->death+7))
  260.           Strcat(linebuf, "escaped the dungeon with the Amulet");
  261.         else
  262. ***************
  263. *** 404,450 ****
  264.          Strcat(linebuf, "ascended to demigod");
  265.          if (t1->sex == 'F') Strcat(linebuf, "dess");
  266.          Strcat(linebuf, "-hood");
  267.   #endif
  268.       } else {
  269.         if(!strncmp(t1->death,"quit",4)) {
  270. -         quit = TRUE;
  271.           Strcat(linebuf, "quit");
  272. !       } else if(!strcmp(t1->death,"choked")) {
  273. !         Sprintf(eos(linebuf), "choked on %s food",
  274. !             (t1->sex == 'F') ? "her" : "his");
  275.         } else if(!strncmp(t1->death,"starv",5)) {
  276.           Strcat(linebuf, "starved to death");
  277. !         starv = TRUE;
  278. !       } else if(!strcmp(t1->death,"poisoned")) {
  279.           Strcat(linebuf, "was poisoned");
  280. !       } else if(!strcmp(t1->death,"crushed")) {
  281.           Strcat(linebuf, "was crushed to death");
  282. !       } else if(!strncmp(t1->death, "turned to stone by ",19)) {
  283. !         Strcat(linebuf, "was petrified");
  284. !         isstoned = TRUE;
  285. !       } else {
  286. !         Strcat(linebuf, "was killed");
  287. !         iskilled = TRUE;
  288. !       }
  289.   #ifdef ENDLEVEL
  290.         if (t1->level == ENDLEVEL)
  291.           Strcat(linebuf, " in the endgame");
  292.         else
  293.   #endif
  294. !         Sprintf(eos(linebuf), " on%s level %d",
  295. !           (iskilled || isstoned || starv) ? "" : " dungeon", t1->level);
  296.         if(t1->maxlvl != t1->level)
  297.           Sprintf(eos(linebuf), " [max %d]", t1->maxlvl);
  298. !       if(quit && t1->death[4]) Strcat(linebuf, t1->death + 4);
  299.       }
  300. -     if(iskilled) Sprintf(eos(linebuf), " by %s",
  301. -       (!strncmp(t1->death, "trick", 5) || !strncmp(t1->death, "the ", 4)
  302. -        || !strncmp(t1->death, "Mr. ", 4) || !strncmp(t1->death, "Ms. ", 4)
  303. -        || !strcmp(t1->death, "contaminated water")
  304. -        || (!strncmp(eos(t1->death)-4,"tion",4) && *(eos(t1->death)-5)!='o')
  305. -        ) ? t1->death : an(t1->death));
  306. -     if (isstoned) Sprintf(eos(linebuf), " by %s", an(t1->death + 19));
  307.       Strcat(linebuf, ".");
  308.       if(t1->maxhp) {
  309.         register char *bp = eos(linebuf);
  310.         char hpbuf[10];
  311. --- 442,480 ----
  312.          Strcat(linebuf, "ascended to demigod");
  313.          if (t1->sex == 'F') Strcat(linebuf, "dess");
  314.          Strcat(linebuf, "-hood");
  315. +        second_line = FALSE;
  316.   #endif
  317.       } else {
  318.         if(!strncmp(t1->death,"quit",4)) {
  319.           Strcat(linebuf, "quit");
  320. !         second_line = FALSE;
  321.         } else if(!strncmp(t1->death,"starv",5)) {
  322.           Strcat(linebuf, "starved to death");
  323. !         second_line = FALSE;
  324. !       } else if(!strncmp(t1->death,"choked",6)) {
  325. !         Sprintf(eos(linebuf), "choked on h%s food",
  326. !             (t1->sex == 'F') ? "er" : "is");
  327. !       } else if(!strncmp(t1->death,"poisoned",8)) {
  328.           Strcat(linebuf, "was poisoned");
  329. !       } else if(!strncmp(t1->death,"crushed",7)) {
  330.           Strcat(linebuf, "was crushed to death");
  331. !       } else if(!strncmp(t1->death, "petrified by ",13)) {
  332. !         Strcat(linebuf, "turned to stone");
  333. !       } else Strcat(linebuf, "died");
  334.   #ifdef ENDLEVEL
  335.         if (t1->level == ENDLEVEL)
  336.           Strcat(linebuf, " in the endgame");
  337.         else
  338.   #endif
  339. !         Sprintf(eos(linebuf), " on dungeon level %d", t1->level);
  340.         if(t1->maxlvl != t1->level)
  341.           Sprintf(eos(linebuf), " [max %d]", t1->maxlvl);
  342. !     /* kuldge for "quit while already on Charon's boat" */
  343. !       if(!strncmp(t1->death, "quit ", 5))
  344. !         Strcat(linebuf, t1->death + 4);
  345.       }
  346.       Strcat(linebuf, ".");
  347.       if(t1->maxhp) {
  348.         register char *bp = eos(linebuf);
  349.         char hpbuf[10];
  350. ***************
  351. *** 468,491 ****
  352.           else Sprintf(eos(bp), " [%d]", t1->maxhp);
  353.         }
  354.       }
  355. !     if(so == 0) (void) puts(linebuf);
  356. !     else if(so > 0) {
  357.         register char *bp = eos(linebuf);
  358.         if(so >= COLNO) so = COLNO-1;
  359.         while(bp < linebuf + so) *bp++ = ' ';
  360.         *bp = 0;
  361.         standoutbeg();
  362. ! #ifdef MACOS
  363. !       puts(linebuf);
  364. ! #else
  365. !       (void) fputs(linebuf,stdout);
  366. ! #endif
  367.         standoutend();
  368. ! #ifndef MACOS
  369. !       (void) putchar('\n');
  370. ! #endif
  371.       }
  372. !     return(strlen(linebuf));
  373.   }
  374.   
  375.   static char *
  376. --- 498,531 ----
  377.           else Sprintf(eos(bp), " [%d]", t1->maxhp);
  378.         }
  379.       }
  380. ! /*    Line 2 now contains the killer name */
  381. !     /* Quit, starved, ascended, and escaped contain no second line */
  382. !     if (second_line) {
  383. !         Strcpy(linebuf2, t1->death);
  384. !         *linebuf2 = toupper(*linebuf2);
  385. !         Strcat(linebuf2, ".");
  386. !     }
  387. !     if(so == 0) {
  388. !       (void) puts(linebuf);
  389. !       if (second_line)
  390. !         (void) Printf("                %s\n", linebuf2);
  391. !     } else if(so > 0) {
  392.         register char *bp = eos(linebuf);
  393.         if(so >= COLNO) so = COLNO-1;
  394.         while(bp < linebuf + so) *bp++ = ' ';
  395.         *bp = 0;
  396.         standoutbeg();
  397. !       (void) puts(linebuf);
  398. !       if(second_line)
  399. !         (void) Printf("                %s", linebuf2);
  400.         standoutend();
  401. !       if(second_line)
  402. !         (void) putchar('\n');
  403.       }
  404. !     return(strlen(linebuf)+strlen(linebuf2));
  405.   }
  406.   
  407.   static char *
  408. ***************
  409. *** 499,505 ****
  410.       return(buf);
  411.   }
  412.   
  413. ! static char *
  414.   ordin(n)
  415.   int n; {
  416.       register int dd = n%10;
  417. --- 539,545 ----
  418.       return(buf);
  419.   }
  420.   
  421. ! static const char *
  422.   ordin(n)
  423.   int n; {
  424.       register int dd = n%10;
  425. ***************
  426. *** 512,525 ****
  427.              (dd==1) ? "st" : (dd==2) ? "nd" : "rd");
  428.   }
  429.   
  430. - char *
  431. - eos(s)
  432. - register char *s;
  433. - {
  434. -     while(*s) s++;
  435. -     return(s);
  436. - }
  437.   /*
  438.    * Called with args from main if argc >= 0. In this case, list scores as
  439.    * requested. Otherwise, find scores for the current player (and list them
  440. --- 552,557 ----
  441. ***************
  442. *** 530,540 ****
  443.   int argc;
  444.   char **argv;
  445.   {
  446. !     char **players;
  447.       int playerct;
  448.       int rank;
  449.       register struct toptenentry *t1, *t2;
  450. !     char *recfile = RECORD;
  451.       FILE *rfile;
  452.       register int flg = 0, i;
  453.   #ifdef nonsense
  454. --- 562,572 ----
  455.   int argc;
  456.   char **argv;
  457.   {
  458. !     const char **players;
  459.       int playerct;
  460.       int rank;
  461.       register struct toptenentry *t1, *t2;
  462. !     const char *recfile = RECORD;
  463.       FILE *rfile;
  464.       register int flg = 0, i;
  465.   #ifdef nonsense
  466. ***************
  467. *** 546,556 ****
  468.   #ifdef PERS_IS_UID
  469.       int uid = -1;
  470.   #else
  471. !     char *player0;
  472.   #endif
  473.   #ifdef MACOS
  474.       if(!(rfile = fopen(recfile,"r")))
  475. !         rfile = openFile(recfile);
  476.       if (!rfile) {
  477.   #else
  478.       if(!(rfile = fopen(recfile,"r"))){
  479. --- 578,588 ----
  480.   #ifdef PERS_IS_UID
  481.       int uid = -1;
  482.   #else
  483. !     const char *player0;
  484.   #endif
  485.   #ifdef MACOS
  486.       if(!(rfile = fopen(recfile,"r")))
  487. !         rfile = openFile(recfile,"r");
  488.       if (!rfile) {
  489.   #else
  490.       if(!(rfile = fopen(recfile,"r"))){
  491. ***************
  492. *** 581,612 ****
  493.   #endif
  494.       } else {
  495.           playerct = --argc;
  496. !         players = ++argv;
  497.       }
  498.       if(outflg) (void) putchar('\n');
  499.   
  500.       t1 = tt_head = newttentry();
  501.       for(rank = 1; ; rank++) {
  502. ! #ifdef OLD_TOS
  503. !       char k1[2], k2[2];
  504. !       if(fscanf(rfile, "%6s %d %d %d %d %d %ld %1s%1s %s %s]",
  505.   #else
  506.         if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
  507. ! #endif
  508.           t1->date, &t1->uid,
  509.           &t1->level, &t1->maxlvl,
  510.           &t1->hp, &t1->maxhp, &t1->points,
  511. - #ifdef OLD_TOS
  512. -         k1, k2,
  513. - #else
  514.           &t1->plchar, &t1->sex,
  515. ! #endif
  516.           t1->name, t1->death) != 11)
  517.               t1->points = 0;
  518.         if(t1->points == 0) break;
  519. ! #ifdef OLD_TOS
  520. !       t1->plchar=k1[0];
  521. !       t1->sex=k2[0];
  522.   #endif
  523.   #ifdef PERS_IS_UID
  524.         if(!playerct && t1->uid == uid)
  525. --- 613,642 ----
  526.   #endif
  527.       } else {
  528.           playerct = --argc;
  529. !         players = (const char **)++argv;
  530.       }
  531.       if(outflg) (void) putchar('\n');
  532.   
  533.       t1 = tt_head = newttentry();
  534.       for(rank = 1; ; rank++) {
  535. ! #ifdef LATTICE
  536. !       if(fscanf(rfile, "%6s %d %d %d %d %d %ld%*c%c%c %s %s",
  537.   #else
  538.         if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
  539. ! #endif /* LATTICE */
  540.           t1->date, &t1->uid,
  541.           &t1->level, &t1->maxlvl,
  542.           &t1->hp, &t1->maxhp, &t1->points,
  543.           &t1->plchar, &t1->sex,
  544. ! #ifdef LATTICE
  545. !         t1->name, t1->death)<1)
  546. ! #else
  547.           t1->name, t1->death) != 11)
  548. + #endif
  549.               t1->points = 0;
  550.         if(t1->points == 0) break;
  551. ! #ifdef LATTICE
  552. !        lattice_unmung_line(t1->death);
  553.   #endif
  554.   #ifdef PERS_IS_UID
  555.         if(!playerct && t1->uid == uid)
  556. ***************
  557. *** 655,661 ****
  558. --- 685,693 ----
  559.                  players[i][1] == t1->plchar &&
  560.                  players[i][2] == 0) ||
  561.                 (digit(players[i][0]) && rank <= atoi(players[i]))){
  562. + #ifdef PERS_IS_UID
  563.               outwithit:
  564. + #endif
  565.                   if(outflg)
  566.                       (void) outentry(rank, t1, 0);
  567.   #ifdef nonsense
  568. ***************
  569. *** 721,727 ****
  570.       int rank;
  571.       register int i;
  572.       register struct toptenentry *tt;
  573. !     char *recfile = RECORD;
  574.       FILE *rfile;
  575.   
  576.       if (!otmp) return((struct obj *) 0);
  577. --- 753,759 ----
  578.       int rank;
  579.       register int i;
  580.       register struct toptenentry *tt;
  581. !     const char *recfile = RECORD;
  582.       FILE *rfile;
  583.   
  584.       if (!otmp) return((struct obj *) 0);
  585. ***************
  586. *** 728,734 ****
  587.   
  588.   #ifdef MACOS
  589.       if(!(rfile = fopen(recfile,"r")))
  590. !         rfile = openFile(recfile);
  591.       if (!rfile) {
  592.   #else
  593.       if(!(rfile = fopen(recfile,"r"))){
  594. --- 760,766 ----
  595.   
  596.   #ifdef MACOS
  597.       if(!(rfile = fopen(recfile,"r")))
  598. !         rfile = openFile(recfile, "r");
  599.       if (!rfile) {
  600.   #else
  601.       if(!(rfile = fopen(recfile,"r"))){
  602. ***************
  603. *** 740,748 ****
  604.       rank = rnd(10);
  605.   pickentry:
  606.       for(i = rank; i; i--) {
  607. ! #ifdef OLD_TOS
  608. !       char k1[2], k2[2];
  609. !       if(fscanf(rfile, "%6s %d %d %d %d %d %ld %1s%1s %s %s]",
  610.   #else
  611.         if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
  612.   #endif
  613. --- 772,779 ----
  614.       rank = rnd(10);
  615.   pickentry:
  616.       for(i = rank; i; i--) {
  617. ! #ifdef LATTICE
  618. !       if(fscanf(rfile, "%6s %d %d %d %d %d %ld%*c%c%c %s %s",
  619.   #else
  620.         if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
  621.   #endif
  622. ***************
  623. *** 749,768 ****
  624.           tt->date, &tt->uid,
  625.           &tt->level, &tt->maxlvl,
  626.           &tt->hp, &tt->maxhp, &tt->points,
  627. - #ifdef OLD_TOS
  628. -         k1, k2,
  629. - #else
  630.           &tt->plchar, &tt->sex,
  631. ! #endif
  632.           tt->name, tt->death) != 11)
  633.               tt->points = 0;
  634.         if(tt->points == 0) break;
  635. ! #ifdef OLD_TOS
  636. !       tt->plchar=k1[0];
  637. !       tt->sex=k2[0];
  638.   #endif
  639.       }
  640. -     (void) fclose(rfile);
  641.   
  642.       if(tt->points == 0) {
  643.           if(rank > 1) {
  644. --- 780,797 ----
  645.           tt->date, &tt->uid,
  646.           &tt->level, &tt->maxlvl,
  647.           &tt->hp, &tt->maxhp, &tt->points,
  648.           &tt->plchar, &tt->sex,
  649. ! #ifdef LATTICE
  650. !         tt->name, tt->death) <1)
  651. ! #else
  652.           tt->name, tt->death) != 11)
  653. + #endif
  654.               tt->points = 0;
  655.         if(tt->points == 0) break;
  656. ! #ifdef LATTICE
  657. !       lattice_unmung_line(tt->death);
  658.   #endif
  659.       }
  660.   
  661.       if(tt->points == 0) {
  662.           if(rank > 1) {
  663. ***************
  664. *** 770,776 ****
  665.               goto pickentry;
  666.           }
  667.           free((genericptr_t) tt);
  668. !         return((struct obj *) 0);
  669.       } else {
  670.           otmp->corpsenm = classmon(tt->plchar, (tt->sex == 'F'));
  671.           otmp->owt = weight(otmp);
  672. --- 799,805 ----
  673.               goto pickentry;
  674.           }
  675.           free((genericptr_t) tt);
  676. !         otmp = (struct obj *) 0;
  677.       } else {
  678.           otmp->corpsenm = classmon(tt->plchar, (tt->sex == 'F'));
  679.           otmp->owt = weight(otmp);
  680. ***************
  681. *** 779,784 ****
  682.           fobj = otmp;
  683.           level.objects[otmp->ox][otmp->oy] = otmp;
  684.           free((genericptr_t) tt);
  685. -         return otmp;
  686.       }
  687.   }
  688. --- 808,830 ----
  689.           fobj = otmp;
  690.           level.objects[otmp->ox][otmp->oy] = otmp;
  691.           free((genericptr_t) tt);
  692.       }
  693. +     (void) fclose(rfile);
  694. +     return otmp;
  695.   }
  696. + #ifdef LATTICE
  697. + /* Lattice scanf isn't up to reading the scorefile.  What */
  698. + /* follows deals with that; I admit it's ugly. (KL) */
  699. + static void lattice_mung_line(p)
  700. +     char *p;
  701. +     {
  702. +     while(p=strchr(p,' '))*p='|';
  703. + }
  704. + static void lattice_unmung_line(p)
  705. +     char *p;
  706. +     {
  707. +     while(p=strchr(p,'|'))*p=' ';
  708. + }
  709. + #endif
  710. *** /dev/null    Tue Feb 20 01:25:09 1990
  711. --- mac/NH3.rsrc.hqx    Mon Feb 19 18:11:28 1990
  712. ***************
  713. *** 0
  714.  
  715. --- 1,311 -----
  716. + (This file must be converted with BinHex 4.0)
  717. + :#%j)-bjbFh*M!!!!!!!!!!!!)!!!!!!!!!!jaZRe!!!!!!%!!!!ddJ!!-p)!!!6
  718. + d"!46DfP`!!!!!!#$!!`!P3%PL!K6BACP)'&c1J!!!!!)6NJc,R*cFQ-c!J!!!!!
  719. + !!!!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!J!!!!!!!!!!!!!!!!!!!!!!!!!!!
  720. + !!!#L"M0f!!!!!!!!1FB!!!!!!-S!$`$H!'S%#&0KGQ8J3@aX!!!!!!$+!0!!hJ%
  721. + U"!C$B@jMC@`!!!!!!,B!F`$)!-S%"d0[ERCPFR5!!!!!!!$+!(-!hJ$+"!Y$Efj
  722. + fCA*d)%&XE!!!!!"b!!%!!!!!!&8!%J"T!$m%!Np,!!!!!!!%!%J!C`%$L&&6Eh*
  723. + b!!!#6!*-!#!!H3!Z!C-4!D!!JU!!MJ%!#J!J!(%#d!*!Q!!N!!!!#!!1!5J!!!!
  724. + )!!i")J!J!(N!,J'6!!%K$rKq!!"r2i!!!H!!IJ!m!"lq!!B"i!!!2`2`qJ!#!H!
  725. + !)J8i'!!!(!lq!!EJ!1F!j`!rr3!)i!!!$`2!!!!Fr!!"i!!P"6`B!"`F$[i!"Z!
  726. + !ii$R!(Iq!!Y`i!!!$iI!!!!F!!Iq!!(J!#3&2KJ!("`1rJ!'i!!$JF1!F2i!"R$
  727. + J!!!2Km$p!!!(rJ!"i!!N"6mB!"`F$[i!"Z!!!i($J($q!!C`i!!!$iI!r3!!"ri
  728. + !!H!!*5-h'$ir(!i(JI$[J!F"`i(mIMh!r2m(`!h0`2!q22q2aq(mr`!P)c1BGa`
  729. + IrKc$R1B!2J($J($R(m"`pilJ$Fh$Q(1FHmF1FjchJ#8M-pMMR"`1(1FFl!!(!F1
  730. + !FF1H!($MR(!0cF1Fijaaaa`l$11!*5-af11F(!i!j`$i!!1"`i"a`j`!F11FF!c
  731. + j`"cJ((((($[!ii!P)c$irj`F$JIR!2J!!i($J(($R!"`ijr`$2R!r1!FFFFF1IM
  732. + MJ#8M-2MJ("`1(1F!r!!$JF1!FF1F!($MR!!-qF1Fi"aaaa`i211!*5-`H1'F(!i
  733. + ij`cZ!F1!j`"a`j`!F11F-!aaaacKR(((($X-ii!P)c!iFjfF$MRMR1F"aacR!($
  734. + R(!"fiij`$(((2(1FFFGZFjcMJ#8Mr"Jr$hmrRr(jrm$q($`!q(iq!$hhaq!rGr2
  735. + q2cllimIMqII!S!#2S!#$r`!!!#FQ6Q9d5'&MDb"@CA*cD@pZ)$-Z-'NJCQpb)(4
  736. + SC5"0B@0TER4[FfJ!!!"-!'F!!!!!!!!!!2rrrrX%4@4TG!99EQ4[)!"D!!!",3!
  737. + !!!!%3h9d)!"B!!!&3fp`H5!!3`!!"P"KFh4P)!"@!!!&3faPBA)!!!!!!!!!!+S
  738. + !D!!!!!!!!!!!rrrrr`P*ERCPER4[FRN-4'mJD@jfC@jdEh*j!!!!!!K3BANJBQP
  739. + XE!!!!!!,4(*[F#"[BQTPBh3!!!!!&%4bEh!JFf9fCA*KE#"[BQTPBh4c!!!!!!j
  740. + 3D@0V)(9`)'pLDQ9MG!!!!!!09'pRCfaP)("TBfYeF!!!!!!25@4PER4TCRNJEf*
  741. + UC@0d!!!!!!a1B@eP)'e[ER0dCA)!!!!!!!!!!*-!D3!!!!!!!!!!rrrrr`C"Bh4
  742. + TEfi33A"`E(N[GA0P)'pLDQ9MG!!!!!!+4@&d)'pLDQ9MG!!!!!!-8A9KCQBJF'p
  743. + dD@pZ!!!!!""5C@&N)(0MFQpXE#pLEfpV!!!!!"*8D(*[GbpcD'p[G#"hC@&`Efi
  744. + !!!!!#&TKF#"hB@jN!!!!!!T$BA0d)(0`C@aX!!!!!!!!!!$"!'S!!!!!!!!!!2r
  745. + rrrm%8(*PF!aAD@9XC#"hC@&`Efi!!!!!#e"eG#"[EL"bD@jR!!!!!!Y5C@e[GQ8
  746. + JFQPZC`!!!!!-8Q9YEhCP)'&bE@pb!!!!!!TAC@&b)'&bE@pb!!!!!!j$GA*bC@j
  747. + d)(GPBA"[EJ!!!!!03h9bFQ9ZG#"KFQe[FJ!!!!!03h9bFQ9ZG#"bD@jRF`!!!!!
  748. + 13h9bFQ9ZG#"KEA9XCA3!!!!!$80eFR*PER3JG'p[E(-!!!!!!!!!!*J!D`!!!!!
  749. + !!!!!rrrrr`40EhCP#8p`C@iJC'p[FJ!!!!!+3fa[Ff8JC'p[FJ!!!!!*5fPMDb"
  750. + NEfpb!!!!!!C6C@&bBfJ!!!!!$%G[)(9`)(0dB@PbF`!!!!!14fmJC'phEL"cG'&
  751. + TFR-!!!!!#&4PE'9`Eh*d!!!!!!4AB@Pd!!!!!!p&EQGbBACP)'ePFh0KCf8!!!!
  752. + !!!!!!1S!E!!!!!!!!!!!rrrrr`K&H(4PEQ4PC!4$D'&d!!!!!!T%DA!JEf*UC@0
  753. + d!!!!!""'Eh*MC5"MD'9cG#"XEf0V!!!!!!4+G@e`!!!!!!K-Efpd)'*[H!!!!!!
  754. + 69A0P)'e[ER0dCA)JB@*TE'PdH3!!!!!,6Q&YC5"[BQTPBh3!!!!!$dpQCQ9b)(0
  755. + KBh*TCQPMC3!!!!!%8(*KH3!!!!!)8R9L)'aKEA!!!!!!#&0TG#"NEhGZ!!!!!!Y
  756. + 8GA*Z)(9ZC'9KC!!!!!!09@jdFQ&`)'pLDQ9MG!!!!!!*9fP`C5"QB@0P!!!!!!!
  757. + !!!'+!-J!JJ!!8Q9KE'aj)(&eDA3J2`!!!!4!!!-!!!$Frri!!!3m!!-!!!$drrm
  758. + !!!!!!!-!!!$qrrm!!!!!!!-!!!%+rrm!!!!!!!-!!!&-rrm!!!3i!!-!!!(@rrd
  759. + !!!!!!!-!!!*Drrd!!!!!!!-!!!+Hrri!!!-%!!-!!!6#rrm!!!3d!!-!!!6Drri
  760. + !!!4!!!-!!!6brri!!!3`!!-!!!8'rri!!!-%!!-!!!@Drri!!!-%!!-!!!DJrrl
  761. + rrrrm!!-!!!EXrri!!!3X!!-!!!G`rri!!!3X!!-!!!I3rri!!!3X!!-!!!Jdrri
  762. + !!!3S!!-!!!K!rri!!!3S!!-!!!Kbrri!!&PPF`!!!!QHrri!!!3m!!!!!!0brri
  763. + !!!FN!!!!!!0i6Qm!!!FB!!!!!!1'rri!!!FN!!!!!!13!2rq!!!('!!!!!!$Q[r
  764. + q!!!(*!!!!!!$T2rq!!!($!!!!!!$V[rq!!!!$!!!!!!$Z[rq!!!(-!!!!!!$d[r
  765. + q!!!(*!!!!!!$h!!"!!)!!!'+!2!!C!!!4'mJH@pe)(GKER3JG'mJD'&fC5"jEh9
  766. + b)("[Ff9cFfP[ER-JD@4PER4TCQPPC#!r!!!CF!!!!!!!!#@i!!!!!!!!)i)!!!!
  767. + !!!!V#J!!!!!!!!Zi!!!!!!!!!8`!!!!!!!!"8MXH!$BJY!Tq!#MdXPBL!di!+25
  768. + b9L)I8J!Sp,*@)J!!!!!!!!!!)p!!!!!!!!!CC!!!!!!!!!*X!!!!!!!!!83!!!!
  769. + !!!!KXJ!!!!!!!"pQ!!!!!!!!(QB!!!!!!!!HM!!!!!!!!#2S!!!!!!!!(CS!!!!
  770. + !!!!2BJ!!!!!2(J&@!#MdXPBL"F`!+25b9L)('!!Sp,)!)LH`!#MdXPPPF`!!+25
  771. + b9L)3"J!!!!!!!!rS!!!!!!!!"TJ!!!!!6Qm!qJ!!!!!!!!XU!!!!!!!!!*i!!!!
  772. + !!!!!!!!!!!"4G@Pd!!!!!!!!)Ni!!!!!!!!@QJ!!!!!!!!Z'!!!!!!!!%$`!!!!
  773. + !!!!HJ!!!!!!!!",X!!!!!!!!'Y)!!!!!!!%!!`!!!3!!!!!!I`!2i&+!1VKHJ&9
  774. + 83)$rUPk"!0C5JR`U8S5S&Rq*m"S!%!#5!$rKBJ"9FN)!UUR#!Ip9`J-"VX)%I&6
  775. + ##%3SJJJ!-!B2rq!+#4%J$!S!S#J-lQ!3#N5JS!Nj)%!+JU+!$%4K!!UUUJ!)!$`
  776. + !$UVS!!S!X!!2rq!!!!!!!2q!$q$r`$rirm"rr2r!rrlr`Irrrm2rrrr(rrrrcrr
  777. + rrprrrrrrrrm!Irrr!2rrr`(rrrm$rrrr"rrrr`rrrrmIrrrr(rrrrarrrrmIrrr
  778. + q(rrrr"rrrrJIrrr`(rrri"rrrm!Irrq!(rrr!"rrrJ!Irr`!(rri!"rrm!!Irq!
  779. + !!!!"!)!!!!&!!!!#)!!!""!!!!J)!!!)"!!!#!)!!(J#!!$)!J!"5!2rrNJ#!!*
  780. + )!J!#5!)2mNJ##"*)!JJ55!))%NJ##"*)!JK55!))%NJ##"*)!JJ55!))%NJ$rrj
  781. + )!J!"5!)!!-J#!!"i"!!!#!J!!!J3!!!))!!!"%!!!!+!!!!"rrrrrrrrrrrrrrr
  782. + rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr`2rrrmlrrrr1r
  783. + rrra2rrrplrrrrUrrrrc[rrrmlrrrr+rrrrb[rrrm$rrrrrrrrrrrrrrrrrrrrrr
  784. + rrrrrrrrrrrrrrrrrrrrrrrrrrrm!!!%!!!!!!!!!!!!!!!!!!!&!!"rpArJ3!8!
  785. + )&reIk"3"3#J!!!!S(!(!+#)!)#JL!D!S*J1J+#)#S#JL)L)S2J(!+!!!!#J8!!!
  786. + S&!!!+"3!!#J8!!!S&###+"3!!#J8!!!S&!!!+"3!!#JArrrS%!!!#"rrrrJ!!!!
  787. + !!!!!!!!!!!!!!!!!!!!!!(rrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrr
  788. + qIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrr
  789. + qIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrq!!!!!!!!!3!!!!!
  790. + !#!!!)"`!!(!)!!!J2J!!q(m!!I`8!!"32J!!q#IrrkJU!!$)-U48Q#DUP+JUkTM
  791. + )-Uk8Q#DU8UJU!!$)-X6NQ#DU5UJUUNV)-Uj1Q#E+5UJU!!$)-rrrQ$i!!2J8!!"
  792. + 3I`!"r$i!!2J)!!!J(!!!F!J!!#!!!!!!!!!!!!J!!#!F!!"`2J!!q$i!!2Kr!!(
  793. + mri!$rRm!!IarrrrmIrrrr(rrrrarrrrmIrrrr(rrrrarrrrmIrrrr(rrrrarrrr
  794. + mIrrrr(rrrrarrrrmIrrrr(rrrrarrrrmIrrrr(m!!IcrJ!2qI`!"r$i!!2Jq!!$
  795. + i(!!!F!J!!#!!!!!!!!!!!Mm!!!!!#8pf!")3!&-!83!!!!KTF'4%,%![3`!!!!G
  796. + KCA&bG(TD!!!!#RG38P4A+9XpA#J!!!!*Ef-%Fc`q&#j&!!!!"J!!!!!!!!!!!!j
  797. + MC'CUE'eZEh"bFh4eG`!!!#3JZXh*ZmLmcXV,ZFbca&`[X1lZlrU`2$jH)Rel)ea
  798. + I2$iM)`!!!!!q,Q`!!!"S!'S!!!"`Dfd!!!"TBQTZD'pXH3"VG3!!iq6QkZcYcZr
  799. + bmr6epiffa-E#YIDrU+HJk,F!!'KXDQX!!!!2!!!!!J!!J!!'6@pZB@0[!!!!"d&
  800. + 38%`!!!!!!!!(8d&@43!"!!!!!!GB8%a5!!)!!!!!"da&9N`!!`!!!!!(3Np143!
  801. + %!!!!#BL3!!!!!!$q!!B!!2rh!!B!#`1l!!N!!J!!!$m!!!!!!!!!!!!!!!!!!!!
  802. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$B!!!!!!!!&%%!!!!
  803. + !!#P!!!!`!!!D!!!#'%!&DeL*3!@J+83JJ%!%P8"3&!&#&!!9!"3JMm$rm!(i!!!
  804. + !Fi!J!!!!!!!J!!!1B!!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  805. + !!!!!!!!!!!!!!!!!!!!!F!"3L!)B"!%#J+)!"!))J!!!B!"")K0X!!!#+)!!&IL
  806. + *3!@J+83JJ%!%P8"3&!&#&!!9!"3JMm$rm!d)!!!!*%"3![2!!!3J!`!*N!!!e6R
  807. + X6#!!"FZF,l[ZF!!1Flc[Iqk2$'%BZmlc[aM'-ImD!J3!%"JK--!!!!!#!!!!!+Q
  808. + Zq45K*!T3V9c[JHT4&%8k)*4m3N3PSZa!!NNJ"@YBL8!&S#P%))"!"*9!8"3"3K3
  809. + !&3!8))r!rr!6!$i!0R4F3!Am)")D)!5!#5$ehpDbNUN!"MaLD%!aL##4M'-B`K'
  810. + +$+'maM'-54M&83d0!33!%#!J%%!!!!!#!!!!!+V4q!!!'!!!!#-B!S!!!!"'*)+
  811. + L3!!!-c)!!US!!"AiL8!&S#P%))"!"*9!8"3"3K3!&3!8))r!rr!M!")!#DaL)$h
  812. + m2j%U*!bi18#9K9,8)A%!#QK#VhJaM9p"l'-)`K#+$5&DaM'-#4M%N45)!(qFph2
  813. + p-ReRHICraM@-IUJ38jlh[FjcNQ-B1SjcSaM',ZILjmk0Uc*!!99J"@YBq8(p[qP
  814. + m))"!"29rhrIrIjAi&IJ9q)r!rrGP"mMmL+rLlF[m)(c))(0m+Ik9MlP))Dr2LUL
  815. + 0)-41L)!LVrd)qp2k$L%Cap(cL4M%LL5)!)aM'+4M0'ZBaMQ#4M9843339'-BaM'
  816. + -8Rrr9p'-BaM'0B%m50'1CZb2rKPTN!!9ripq)D%2arrrrrqA%!!3!!"q"rmRrLI
  817. + rrrriT3+&&)LXBaV,r,q4+$q)I%!1PB89Y5%K!"-T!r$%NAKI424M#-)4LSdK'-B
  818. + 4L%NBe)4%5!#-B4qNBcaV'-B`FNBe*%LS%(IM'-BIrp*M'(k4M'-BaM5(j%M4M')
  819. + "#!3KmNeV@2P,rEhi2%!#3!6eprphrhq"q8(p&IK2rr`)S`+*&)KdBah6r#!5'#"
  820. + `Id!1P3"@XK)"!")U)LM%N3JJJ)4M'-)4LSbK'-B4M%N9E85%5!#FB4JNBc*V'-B
  821. + `#Ne99&#S%53R1Fi3K"*M'&+4M'FiaM@*,NR4R'2r'!4!FNJ9q)P+*D8!!%!#3!5
  822. + 8&!&8!8!!)8!P&#"2rr`)S`+6&)JN94"6r$q!##5!1)!!PB!k63`!%'(2h#FiMR8
  823. + !"(4mlhi1Mh4r',S1LiML4L6q12a[R[HMic&V&hR`mE5+LrkS$L2DeVA[Hp*M(pl
  824. + ZFjVAZFla*%E1E')!i!"`DC9V@)P+*D8!!%!#3!58&!&8!8!!)8!P&#"2rr`(E3+
  825. + qjdKcYZ!pr#"rq5!!!)!!p3!3!!!!%#!!!!!!!!%!!!!!!!!!!!!!!!!"!!!!!!!
  826. + !)!!!!!!!3#!!!%!J!!!!!%"`!R!!!!#!!!!!!!!!!!!!J!3!"N!!!!!!!!!!!!!
  827. + 9q)P+*D8!!%!#3!58&!&8!8!!)8!P&#"2rr`!)!!!"!!!!!!Krq!!#5!!!!!!!!!
  828. + !!!!!)!!!!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$J-!!!%!J!!!!!i!
  829. + !"!!!!!%!!!!!!!!!!!!(!!!!!B!!!!!!!!!!!!9V@)P+*D8!!%!#3!58&!&8!8!
  830. + !)8!P&#"2rr`!!!!!"!!!!!"!!!!!#-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  831. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  832. + !!!%!"!!*!!i!%`!B!"S!(3!J!#8!+J!X!$%!-J!f!$X!23"#!%F!6!"4!&B!@`"
  833. + J!'8!CJ"S!'X!F!"c!(J!I3##!)F!M!#4!*B!Q`#J!+8!U!#Y!,)!Y`#m!-%!aJ$
  834. + ,!0!!e3$D!0m!j!$T!1i!m`$i!2d!r`%$!38"#!%1!4!"&3%D!4m"*!%T!5d"-J%
  835. + h!6J"1`&!!8)"4`&-!9%"9J&E!@!"C3&T!@i"F`&i!Ad"JJ'(!BS"L`'1!C-"N`'
  836. + B!Cd"SJ'R!D`"X3'f!EX"`!(&!FS"c3(3!G)"e`(F!H%"jJ(V!I!"p3(k!Im#"!)
  837. + *!Ji#%`)B!Kd#)J)R!L`#-3)c!MJ#23*#!NF#5`*2!P3#@3*H!Q3#DJ*V!R!#G3*
  838. + k!Rm#K!+&!SN#M3+5!TF#Q`+J!U-#U!+Y!V)#YJ+k!Vd#``,*!X`#dJ,B!YX#h`,
  839. + M!ZF#l3,c![F#r3-$!`N$$`-9!aX$(`-L!b8$+3-[!c8$13-m!d)$5!0,!di$9!0
  840. + D!em$C30U!fm$G30k!i!$K31+!im$P!1C!jm$T31V!l%$YJ1j!l`$[`2$!mJ$c32
  841. + 4!pB$e`2F!q!$j!2R!qd!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!
  842. + '!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'"JB#"J%'!!B!"J!'!!B#"J%
  843. + '!JB!"J!'!3B!"J)'!3B!"J)'!!B!"J!'!!B!"J!'!!B!"J)'!3B""J!'!3B!"J!
  844. + '!!B!"J!'!!B!"J!'!!B!"J%'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!
  845. + '!!B!"J)'!3B#"J%'!!B""J!'!!B!"J!'!!B""J!'!!B#"J!'!!B""J!'!!B!"J!
  846. + '!!B!"J!'!3B!"J!'!!B!"J!'!!B#"J)'!3B!"J!!!!B!"J!'!!B!"J!'!!B!"J!
  847. + '!!B!"J%'!3B""J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!
  848. + '!JB!"J!'!!B!"J%'!3B!"J!'!!B!"J!'!`B!"J!'!!B!"J!'!`B!"J!'!!B!"J!
  849. + '!!B#"J!'!!B!"J!'!!B$"J!'!!B$"J!'!!B$"J)'!JB#"J!'!!B#"J!'!!B!"J!
  850. + '!!B!"J)'!`B$"J)'!!B!"J!'!`B!"J!'!!B$"J!'!!B!"J!'!!B!"J!'!!B!"J!
  851. + '!!B!"J!'!!B!"J!'!!B!"J!'!3B""J-'!!B!"J!'!3B!"J)'!!B!"J!'!3B!"[r
  852. + r!!!,hT!!!!!!!2m!"`!!rrd!"`!2"18!$!!$!!!!3J!!!!!!!!!!!!!!!!!!!!!
  853. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$J!!!!
  854. + !!!!!!!!!!!!'J!!!!!!!9DY@)P!"D!T4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rr
  855. + i!!!!!!!!!!!!!!!!!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  856. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"84!!!!!!!T3!!!-!!!,!!!
  857. + !))!!!&Aq)P!"D!T4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rri!!!!!!!!!!!!!m!
  858. + !!#!!!!TJ!!!3!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!F(!!!!!!!!!
  859. + !!!!!!!!!!!!!(!!!!!!'!!!!!%5!!!!!!!!!!!!3!!!!!!!!))!!9DY@)P!"D!T
  860. + 4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rri!!!!!!!i!"J!p#!!!#!!!!f3!!$915a
  861. + 5)!!#jFiAcIFi!!(!1mlhrZM`aK',[1mlmBaM(mJ5!)%!"!B)6!!!!!!!!!!!!#T
  862. + VJ#)!L3%!J+Fli(X!JL!1L!dI%%L%f,h%!#++!!"9rL*3!@J+83J3!J!)LP!&!&!
  863. + "338!!+3!#JJ3rJ2rq!li2J!!%FiJ!I`J!#!J!`!j)(hIeV*5U!!$(M%d%"M%##)
  864. + J4M'-)4LJbKZ-BaM%NBaM%-J9!%%!"!J)6$!!!!!!J!!!!#Ud9%8S53+85eM'!+5
  865. + 844&4L"#SN!#4#@M'*!!NNJ"9UeBL8!&S#P%)%!)!#)T3"3"3!8%&!!#N!!S)%2i
  866. + $rrJ45#)!'j)a)!Am)!4-)!5!+8p%e9,5BA%!"43K9#!Ba"!3,dBaM#%)S0)9c'-
  867. + B`*'-Ba$%')!"!!3)#!33!!!!!)!!!!!U"%!!!!B!!!!)aJ#J!!!!%BN4q*!!!!!
  868. + -aL!!##!!!&Aq)P!"D!T4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rrlF8!3!#3k-4!
  869. + &r$mLNL3%J#Rr4)8ae#&a!!8d*THm*dDRb&$(d)`K#+$L%DaM'-#4M&844"!!(qF
  870. + ph2p-RhRHICh4M@-IUJ3Ljlh[FjcNQ-B1SjcSaM',N!")ZI1MDXBN!"C+@P@V9Mj
  871. + 3IfrkA`J3!J!)qPrprprrIq8rJ+Ii#Rm3rJ2rr**(b2a%4M&i(IdJ)9)J5cJJ$d5
  872. + 2Q)JKVm!*9%(iBNM'`!5@rM#2[6qJ`K'FI4miNBa)SN)3!#-BaLNBc4V'-BjLNBe
  873. + 9%8N%)aM'-BaM&*M(eIaM'-BaMARr%M4MQEh%rqQDT3"9rq2IL'K$mIrrrrrrLm)
  874. + !!%!!!"r!Ira(riMrrrrrr**#K54%4r'1kr`rqM!rX(`J$d5&&93K)3q*P)%3BNL
  875. + m*mL@aM#-)4LJiK'-B4L%NBa84%)3!#-B4qNBcKV'-BaFNBe*%LS%)rM'-BIrp*r
  876. + q&k4M'-BaM4")%M4M')!)J%%V3Y@V9Mj5rfpq$a!!)J!)qRlrqprrIq!rP!Ip#Rm
  877. + )rrrm!h&#L54%4M'0Dr`J*"%J5(iJ$d3!&E+K!3!4&3%3BNL%%"!AaM#-)4LSdK'
  878. + -B4L%NBeL5%%3!#-B4JNBc4V'-B`#NBe*&#S%)`M'-B3K"*M'&+4M'-BaM4**%M4
  879. + M'2r`J%*r3S"9rL*5L@P!!"!!)J!)LJ+!#P!"3!!%&!"&#JJ)rrrm!"&#N54%4LU
  880. + 1kr`r)2%NX(fJ$d5!9V%5!""4&K%8BNL+L##3!%BaM#%BU-S4M'%Ba*&@iNK"%!!
  881. + R'-BT'-bDaM'-)T0994JU"'FCcR1-B45BaK@NBaR1-Be55j*dCaL!%3!%#U99UeB
  882. + L8SPT3!!3!#)!#)S#J!T3!8!!""3!43S)#2rrr!!43U-Na$SUL#[m)!F3`!!iB!"
  883. + %J$T1NJ!3B1IZ%ja(-S!!MdI1pq$SpdIaLk$SZ)iNBNr!N!"r'qFpb2M-@XAHI"a
  884. + Y)U,rUJ1DjV@YFjlNQ-IZZjcQYHjc[%N4XjXBJ!i!$`TD!&Aq)P+*D8!!%!!L!!L
  885. + +!S!+8!&!!!38!%8+#!Mrrr`!&N+qad)4fh!Grq$i%!!!!#!!I3!3!!`!%#!!!!!
  886. + !!!#!!!!!!!!!!!!!!!!!3!!!!!!!F2!!!!!!!"!)!!!3#!!!!!!3(!%!!!!!)!!
  887. + !!!!!!!!!!#!"!!%3!!!!!!!!!!!!9DY@)P+*D8!!%!!L!!L+!S!+8!&!!!38!%8
  888. + +#!Mrrr`!%!!!"!!3!!!4q!!!%!!!!!!!!!!!!!!!)!!!!!!!!!%!!!!!!!!!!!!
  889. + !!!!!)!!!!!!!!!!!!!!!!4!)!!!3#!!!!!%3!!%!!!!!)!!!!!!!!!!!!#!!!!(
  890. + J!!!!!!!!!!!!!&Aq)P+*D8!!%!!L!!L+!S!+8!&!!!38!%8+#!Mrrr`!!!!!"!!
  891. + i!!!3!!!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  892. + !!!!!!1!`!!!!!!!!!!$J!!)!!!!!3!!!!!!!!!!!!F!!!!!!!!!!!!!!!!!!9DY
  893. + @)P+*D8!!%!!L!!L+!S!+8!&!!!38!%8+#!Mrrr`!!!!!!!!!!!!!!!!!%!!!!!!
  894. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  895. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!"!!*!!i!%`!C!"S!(3!J!#8!+J!X!$%
  896. + !-J!h!$`!2J"$!%J!63"5!&F!A!"K!'B!C`"T!'d!FJ"f!(X!J3#'!)X!N!!!P3#
  897. + D!*m!T!#T!+`!X3#f!,X!`!$&!-S!c`$8!0N!hJ$M!1J!l3$b!2F!r!%"!33"#3%
  898. + -!4%"'!%D!4m"*!%T!5i"-`%h!6`"33&#!88"5J&-!9%"9J&E!@!"C3&U!@m"F`&
  899. + i!Ad"JJ'(!B`"N3'8!C8"Q!'G!Cd"SJ'R!D`"X3'f!EX"`!(&!FS"c`(8!GF"fJ(
  900. + F!H%"jJ(V!I!"p3(k!Im#"!)*!Ji#%`)B!Kd#)J)R!L`#-3)f!MX#23*#!NF#6!*
  901. + 4!PB#@`*J!Q8#DJ*`!RB#G`*m!S%#L!+2!TB#P`+E!Tm#T!+T!Ud#XJ+e!VS#[`,
  902. + %!XJ#c!,3!YF#hJ,L!ZN#m!,d![N#rJ-$!`S$%3-@!ad$*!-V!c)$130!!d8$530
  903. + 0!e)$@30J!f3$D!0[!hB$HJ0q!i8$L`13!!19!jS$R`1P!kS$X31f!lX$`!2&!mS
  904. + $c`29!pX$i!2P!qJ$k`2[!r-$q!2p"!%%"J3("!`%%!38""J%'!3I!!F!"`!(!!F
  905. + !"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F
  906. + !"`!(!!F!"`!(!`F#"`%(!3F""`!(!`F#"`)(!3F""`)(!3F$"`%(!3F#"`%(!3F
  907. + ""`%(!3F""`%(!3F$"`)(!3F""`)(!3F!"`%(!3F""`%(!3F""`%(!3F#"`%(!3F
  908. + ""`%(!3F""`%(!3F""`%(!3F""`%(!3F""`%(!3F#"`%(!JF""`!(!`F""`%(!3F
  909. + ""`%(!JF""`%(!`F""`%(!JF""`%(!3F""`%(!3F""`%(!3F""`%(!3F""`%(!JF
  910. + $"`)(!3F!!!%(!3F""`%(!3F""`%(!3F""`%(!3F#"`)(!JF""`%(!3F""`%(!3F
  911. + ""`%(!3F""`%(!3F""`%(!3F""`%(!3F""`-(!3F""`%(!3F""`%(!3F""`%(!3F
  912. + ""`-(!3F""`!(!!F!"`-(!!F!"`!(!!F!"`!(!JF!"`!(!!F!"`!(!`F!"`!(!`F
  913. + !"`!(!`F#"`)(!JF!"`!(!JF!"`!(!!F!"`!(!!F#"`-(!`F#"`!(!!F!"`-(!!F
  914. + !"`!(!`F!"`%(!3F""`%(!3F""`%(!!F""`%(!3F""`%(!3F""`%(!3F""`)(!JF
  915. + $"`!(!3F""`%(!3F$"`%(!!F!"`%(!!%!"rrr!!!!!!!!!%*J!!#A!!!!!!!!!!!
  916. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!%!#3!!5iN
  917. + !$!!!5i`!!!!9!$m!#J%(!@J!!3!!!!!!!!!!!)%!!!!!4!!!!3!$J!I!$q!Im!1
  918. + !!i!$J!1!!i!$J!1!!i!!!!!!!3!$J!I!$q!Im$ri2rJ(`!I!"m!(`!I!"m!(`!I
  919. + !!!!!!3!(!!!!4!!!I`"q!(`!IJ"r!'q!4m!$i!(`!2!!B!!!!!!!!!!!ri$rJ2m
  920. + !rJ$r!2q!rm$[i-I`!rJ"q!$`!'!!!!!!!!!!!3!"!!!!4!!!!2i!IJ!q!(i!rJ(
  921. + f!q)(`!q!$`!'!!!!!!!!!!!!!Im"r`$r!(m!r`(r!rm(p`rM(m!IJ!m!"J!!!!!
  922. + !!!!!!3!1!!!!4!!!!!!!!!!J!$!!1$rm2rirr!!i!$!!)!!!!!!!!!!!!!!!!!"
  923. + J!(!!H(rmIrjrrhrqIr`!H!"`!'!!!!!!!!!!"`!1!!!!4!!!!!!!!!!!"J!2!!q
  924. + !"m!$iJ(f!2i!IJ!q!(i!rJ!!!!!!!!!!"J!2!"q!(m!2i`Ih!rm"r`$r!(m!r`(
  925. + r!Im!$J!1!!!!4!!!!!!$J!1!!i!$J!1!!i!$J!1!(r!2i!I!!i!"!!!!!!!(`!I
  926. + !"m!(`!I!"m!(`!I!2rJrq"r`$q!(`!1!!3!!$J!(!!!!4!!!!!!!!!!!!'!!m!(
  927. + `!q"(`'q!I`"q!(`!IJ"r!!!!!!!!!!!!!'!!m!(i!rM(m1rJrm$rJ2m!rJ$r!2q
  928. + !ri!!$J!"!!!!4!!!!!!!!!3!$!!F!$riIrJrq"`!$!!%!!!!!!!!!!!!!!!!!!B
  929. + !$J!H!$rmIrcrr(rm2r`H!!i!"J!!!!!!!!!!"`!"!!!!"d&9@%`!"3!!!!%!!!!
  930. + !!(JIm$c)j!iQV`)"kS3%%-,S$!NZ%")''"'"'"!Q33!))!!!@#$J$LJKm"m))rJ
  931. + rL$2i2jJam4mB%111%"#$J"!)48%J")eQ3!)*))!(M@2!$FI(B"MJ$M"af$FF3hI
  932. + GK&CG904N9qa-2&98H!![k!!!%"!!!!rJ!!!!!!"m(r"qr2rqIrrrrrrrrrrrrrr
  933. + rrrrrrrrrrrrr2rrrq(rrrrarrrrmIrrrr(rrrrarrrrmIrrrr(rrrr`rrrri2rr
  934. + rq"rrrr!Irrr`$rrri!rrrr!Irrri2rrrr2rrrrlrrrrqrrrrr[lrr[jqrrlq2(r
  935. + mH!!rq!!!(r!!!!rJ!!!!!3!3!!!!F!%!3,!(!2!`1`pJFFB83"S'-1!CANiJH3b
  936. + I)*S-T*!!$VfN8!iC4Q!m'F)!4hP!)!Ba`*!!$l-K4*2bS4"Kh4#SNZV34&Ke1+L
  937. + Q+SL#e9*i+$UR#%#Rb2!!e*!!%J!kNH3F$dRfF!$m[,B!!TN@!!*)'!!"3"!!!A!
  938. + m!!2SC(J"J%$i"i$`q$q2q2RrRr$rrcrJrrprm2rrrr$rrrr`rrrrq2rrrrMrrqr
  939. + `rrrRm2rrir$rrq(mrrrcr[rrmrcrrrRmrrrir[rrrIlrrrhrrrrmr[rrr1Mrrrp
  940. + !rrrr([rrrrirrrrq$rrrr`$rrrm!"rqq!!2m2!!(r(i!"rcq!!!!P`"Q!!!!!!!
  941. + !!!$rrrkr"%CTE'8-8f9d)'p`G'P[ER2*!!!!!!j@CA*cD@pZ)'jeE@*PFJ!!!!!
  942. + 05@jfCA*d)&0MFQ9PEJ!!!!!08Q9NFQ&h)(0MFQ9PEJ!!!!!68Q9`C@&d)'aKFh3
  943. + JE@9cFf&RC3!!!!!",3!!!!!*8f&fC5"RB@eP!!!!!!%Y!!!!!!44G@Pd!!!!!!!
  944. + !!!%!J)!!!0'!!!#UJ!!!e)!!!+5!!!$BJ!!!URrrr0P!!!DS!!!'dNbG4U%!!!E
  945. + 859f'T!!!"Y*0bfDK!!!'e%!!"U30[qE43$$QT!-[CY*!,@DJ#M0Qm8!mjPJ0-kB
  946. + N3$rQ'J!!"JY!!!B%P99@!fUUUJ)Irri"i!!!!!!!!!!!!!#!J!!!mB!!!2Z!!!$
  947. + rJ!!!ri!!!2q!!!$rrrrmrrrrr[rrrrlrrrrqrrrrr[rrrrlrrrrqrrrrr[rrrrl
  948. + rrrrqrrrrr[rrrrlrrrrqrrrrr[rrrrlrrrrqIrrrrMrrrriIrrrq$rrrrJIrrri
  949. + $rrrq!rrrrJ(J!!!!!!!!!!!!!!!!!%aZD$-`!!!!!8P$6L-!"J!!!)!!!3#"!!)
  950. + !JJ!$!)-!"!#%!!8!K3!'!)C'8N9'!!B!!!#!!!%!J3!#!))!!`#$!!3!K!!&!)8
  951. + !"J#'!!!!"e4&@&3!"J!!!!!F!"`!'J&@!IJ!!3!!!!!!!!!"!))(6h"dD@pZF`!
  952. + !!"`!)J!N!6B"C!!"!2m!!!!!!!!!J`GKFfYZB@eP!!!$ZJ!M!!!!!!%G!@!"-3'
  953. + `"!P8C@e`Eh*KFRRq!!!!!!%G!#%"-3"a"!46BACP!!!!!!%G!-J"-3%B"!C$B@j
  954. + MC@`!!!!!!'-!%3"c!)%&$%9iF'a[FQ8JE@pNC3!!!!!!B`##!(-!bJ8'4Q9YB@a
  955. + P!!!!!!"M!-`!F`(-"5&%DA0`E'&j)%jPGh-JBA3J3Q9RD@jZD@jR)'pQ)%GKE@8
  956. + -!!!!!!#-!!J!R!#)"3p'DAKPC#"*ERCPER4[FRP!!!!!!!#F!!J!V!#J"4&%DA0
  957. + `E'&j)(4[E@*cG'pZC3J!!!!!!+`!#!#m!)JZSEhFJG'PYCAN!!!!!!,`!#!$
  958. + -!*J&%&CPFQ*[Ff8JE@9cFf&RCA-!!!!!!-`!#!$F!*J&%90TE'9ZG#!SEQmJBQ9
  959. + PF(-T%!!!!!!!h!!)!1`!Z!896A9XG'PQD@jNCA)J3A9dEbekEfpY9J!!!!!!l!!
  960. + )!2`!J!8-5@jfCA*cC5"8CAKd!!!!!!#-!,J!R!%-"3P6Eh*d)&"KBfZB!!!!!!#
  961. + F!,J!V!$i"39$Efa[FJJ!!!!!!+`!Z!#m!B`&(&"TBfYeF#"[BQTPBh4c)'&eG'p
  962. + YBA4TBf&XE(N!!!!!!,`!Z!$-!6!&$d0[EQCTFQdJB@0dD@pZFdJ!!!!!!-`!Z!$
  963. + F!4%ZKCQ8JF'9dFjJ!!!!!!0`!Z!$X!6%&$9*PFh3JEfiJFh"KBf9d!!!!!!!
  964. + C!*J!+3'F%!4-DA0K!!!!!!!b!*J!3J'F%!9'FQPdHT`!!!!!!%X!Q!"E!C`3"9*
  965. + [GQ9bc!!!!!!""!#J!43"T"!%8'9KFJ!!!!!!M!&T!*`"`4!+)LPE*6mV)5mS+J!
  966. + !!!!!l!#i!2`"&SJ28f0[FQ8JE'PcG$SJG'p`$`!!!!!!l!%D!2`",K!"-aB!!!!
  967. + !!1`"9J$m!@S3!6)@!!!!!!!&!+S!&3%dL"01CA4)B@0V)$-Z-#"2F(4TEfjc!!!
  968. + !!!!!'3![!#N!M)J-8'aKH@9b)%jKE@8k!!!!!!!a!#m!33"rL!P$BA3J6Q&YC6V
  969. + X!!!!!!"+!#m!@J#(L!P%EfFJ6Q&YC6ST!!!!!!"h!!S!L3%BL#C8D'9cC5"[F(4
  970. + TEfjc)(4KDf8JC@CQC@0d)'PYE@9ND@&dC@aj1J!!!!!!l!%b!2`"8SJ$B@jNF!!
  971. + !!!!!M!%)!*`"C)J0)#dJF'&MDfpbC'9b1QN!!!!!!33!4!%8!*H)#dCbG@Pd)%j
  972. + KE@8k5`!!!!!!l!&[!2`"[iJ+BA*[G@jN)'eP,J!!!Mi!&J!!!!!!k!$L!2`"(J3
  973. + #6dX!!!!!!!8!#!!C!'X)$&GSEb"KFQ8JH@pe2`!!!!!!(3!+!#d"1"!+4'&bE@&
  974. + bB@jdD!!!!!!!0J!)!%B!i!JI9fKKG#"VD@jN)'pQ)'0SBA*KBh4PFL"KFQ8JH@p
  975. + e2f8!!!!!!%J!#!"B!(-'$%&bBfKPEfa[CfPcG!!!!!!!A!!)!'`!F`B*3Q&bBQ&
  976. + bD@&Z!!!!!!!!G!!)!)3!F`B)3f&fC5eYB@i!!!!!!)`!#!#F!(-'!d9XCS-!!!!
  977. + !!%J!H!"B!-X'"NKPB@aPFJ!!!!!!A!"i!'`!bJB'5fjTCfKd!!!!!!"d!(J!K!$
  978. + 0"JC3FQPPFh3!!!!!!)`!H!#F!-d'"9*[Ch9P!!!!!!!!5!$B!&J",3B(8f&YGA*
  979. + KDA%!!!!!!&`!f!"`!5d'"e4[GA*TFh3!!!!!!!"d!0J!K!%Y"JK@B@aVHA*TC3!
  980. + !!!!!M!$B!*`",3B'9fPkBA*N!!!!!!#N!!J!Y!$!"K4-CA3JG'KP)'GKE@8JBfK
  981. + [Eh0P)!!!!!!!c!#3!!$F!8J&%d4PBR9R)#KA59T"8N3T)%e[C'@#!!!!!!$-!!J
  982. + !h!"i"3a&H("XEh*P)'e[C'8!!!!!!+3!f!#d!5!&"NCPE@&XC3!!!!!!hJ!)!1i
  983. + !d!8B4'PcF'aKH5"ZCAGc)'*PCQpbC5"RB@eP!!!!!!$`!!J"!!#3!!835R9cG#"
  984. + cD'ph)(0MEh*PF`!!!!!![!!)!-d!8`J)6h"dD@pZFcS!!!!9!!!!!!%%!AF!!3!
  985. + !!!!!!!!!m'!!!!!!l!!+!!!!!!#r!4i!d3&Z"!42F'9Z!!!!!!!!!MX!8!*0"!C
  986. + )D@4NC@i!!!!!!0S"(`$X!@m%"N0KEQ0PE!!!!!!!*`%D!$S"Fi!!!!!!!!"%!5!
  987. + !9J&`"!9&DQ9MG&m!!!!!!&d")!"[!A!%"84bDACPi!!!!!!!3`!-!28"&`!!!!!
  988. + !!!!$!'d!&3#G!!!!!!!!!*B"'`#A!A1!!!!!!!!!!!)8!'8#G)J!!!!!!!!#!$!
  989. + !*J&'#$03E'9KFf8JE'pMBA4PAM!JCQPXC9ia)&ib$@pb)("bCA0c)%0KEQ0PE#"
  990. + dEb"KBQpbG#lA!!!"D!!(!!!!!!#E!$`!V`"i"!*25`!!!!!!Q`#i!+m"%J3*6@p
  991. + bC5"*EQC[ZJ!!!!!!#J!F!"S"0N!#!'3!!!!!!%N!E3"E!1%)'&0PC5"XD@0PER0
  992. + P)'C[FL"NCA4KD@ac,J!!!!!!)`!h!$-")3JY3fp`HA*TCfKd)$%j1$8X)$%j1$B
  993. + X)$%j1$FX)$%j1$JX)$%j1$NX)$%j16!Z1J!!!!!!-`!P!%8"3`Jf3RNJ8h4TBfK
  994. + dD@jR)%eKG'KPE@&dDA0MD#"$C@jdFR9Y)'&ZC#"0D@YP)&0dCA"SC@jcEfiZ!!!
  995. + !!!"G!$)!E`%P#$0#G@FJFQ9`Eh*dFb!Y)'9YB@PX)'jPG'KKBfXYBR9RFd"XD@j
  996. + M,Q0TFbjeF'9ZELjPC(8Z!!!!!!"d!#-!K!%fL$K#FQpeCfKd)(4[)(P[G5"LH5"
  997. + +EfKZERNX)%T[EL`J3@jNH5`J5f9fD@iX)%eTDf8JB@jN)&4[E3!!!&X!@`#8!,i
  998. + !Z3%I%3'J&0kK&0i!+!!$k(`!!qJJ!*3![J#j!4m!"3!"!!!!!`!B!"J`'!!-!!!
  999. + !!!"e)&m"!!S!P!#q!,N"(`F!"3!&#`!B!"K!!*3![J#j!4rr!!!"!!!!00)!!$2
  1000. + 5!!!%p!!`ca!)&J!!!"`$2J!-8%P$9!!"!'TZD$-`!!!!JNe&6P8!"J#168&XG!!
  1001. + "!1**3diM!!B!qNK%9%%!#J&14P*&4J!'!G*'6dj8!!)#*NC26N3!!!*+4%a24`!
  1002. + $!PC%594-!!-#KN098P-!"`+f3Nj%6!!!!aB!C2rr!!!!!!!!!!!6M[rr!!!cF`!
  1003. + aG&J!!2rr!!!#8!!!!!!!CJ!!!!!Sa!!!!!!!C`!&!!!#H`!!!!!!D!!+!!!#b`!
  1004. + !!!!!D3!8!!!$H3!!!!!!DJ!E!!!%%!!!!!!!D`!J!!!%e3!!!!!!E!!P!!!&F3!
  1005. + !!!!!J!!h!!!'A`!!!!!!J3!m!!!(l3!!!!!!J3"#)!!*H`!!!!!!JJ"0)!!+I`!
  1006. + !!!!!J`"D)!!,J`!!!!!!K3&l)!!-K`!!!!!!K!&M)!!Q[!!!!!!!J!&[)!!R`!!
  1007. + !!!!!KJ'+!!!TA`!!!!!!b3"Q!!!0L`!!!!!!bJ"a!!!0N3!!!!!!c!"l!!!0RJ!
  1008. + !!!!!c3#+!!!0UJ!!!!!!cJ#A!!!0Y3!!!!!!c`#T!!!0``!!!!!!b`#h!!!0d!!
  1009. + !!!!!d!$"!!!0fJ!!!!!!CJ$6!!!0l!!!!!!!C`$F!!!1&!!!!!!!C2rr!!!19J!
  1010. + !!!!!J!$M!!!1D3!!!!!!J3$[!!!1G!!!!!!!JJ$q!!!1I`!!!!!!J`%,!!!1LJ!
  1011. + !!!!!K!%E!!!1P3!!!!!!K3&8!!!QX3!!!!!!KJ'8!!!UX`!!!!",LIrr)!!1S!!
  1012. + !!!",M2rr!!!B,!!!!!",!!%Q!!!N$J!!!!!!P`%Y"!!N%J!!!!!!J3%f!!!N@!!
  1013. + !!!!!JJ'H!!!U[J!!!!!!J`'Z!!!UhJ!aG&$`B2rr!!!`rJ!!!!!!JIrr!!!b"`!
  1014. + !!!!!J[rr!!!UrJ!!!!!!J`'Q!!!Z[!!!!!$`B2rr!!!a&`!!!!!!C2rr!!!NF3!
  1015. + !!!!!Drrr!!!NZ3!!!!!!CIrr!!!P!3!!!!!!C[rr!!!P53!!!!!!Crrr!!!PN3!
  1016. + !!!!!D2rr!!!Pf3!!!!!!DIrr!!!Q)3!!!!!!D[rr!!!QD3!!!!!!J!&%!!!UB`!
  1017. + !!!!%4QPXC34&C'Pd#8PZGQ9ZG'pbH3C"Bh4TEfi%8(*PF!40EhCP%89iG'9ZC'9
  1018. + N)%0[E@eKEQ4c"&P1+#N&@8j4+#N+8f&fC@3J4f&YC3a&H("XEh*P)%GKE@8,8f&
  1019. + fC@3J6'9fC@`+3A"`E'8JE@9ZG3P'D@aP)'ePER815@jfC@jdEh*j)'ePER8-3@0
  1020. + dD@pZFb"YC@je%9"bCA"KFQ&dD@pZFb"YC@je$8e[GQ9YC@jd)'ePER8*4@4TG#"
  1021. + YC@je%89iG'9ZC'9N)%0[E@eKEQ4c#'GbBA"SD@0c"QYPH@eKF!Y"F("XD@0KG'P
  1022. + [EJj6BACP)%0SBA)J4QPXC3a&H("XEh*P)'CTE'826'9fC@`J9'9YF#"'D@aP#N*
  1023. + [EQ9c)%CTE'8'HR3YD@*Y#%KKBfY'Efjd$8&LEh9d)%jPG%KKBfX26Q9d5'&MDb"
  1024. + QEh)J6@&M$N&eH'PXD@&bH5"'D@aP#d*[EQ9c)%aPGQ9X#d&`F'aTBf&dD@pZ$N&
  1025. + eH'PXD@&bH5"'D@aP#94&@&3JCQPXC3P849K8)'CTE'8(6h"dD@pZF`GKFfYZB@e
  1026. + P"f&cDfjKE@9&6!:
  1027. *** /dev/null    Tue Feb 20 01:29:52 1990
  1028. --- auxil/MacHelp    Tue Feb  6 16:33:54 1990
  1029. ***************
  1030. *** 0
  1031.  
  1032. --- 1,35 -----
  1033. + y k u   7 8 9         UP 
  1034. +  \|/     \|/          |
  1035. + h-.-l   4-.-6   LEFT<- ->RIGHT
  1036. +  /|\     /|\          |
  1037. + b j n   1 2 3        DOWN
  1038. +       numberpad  cursor keys
  1039. + Move commands:
  1040. + yuhjklbn: go one step in specified direction
  1041. + YUHJKLBN: go in specified direction until you
  1042. +           hit a wall or run into something
  1043. + g<dir>:   run in direction <dir> until something
  1044. +           interesting is seen
  1045. + G<dir>,
  1046. + [SHIFT]<dir>: same, except a branching corridor isn't considered
  1047. +               interesting
  1048. + m<dir>:   move without picking up objects
  1049. + If the window title shows "[MOVE]", the number keys move your character,
  1050. + otherwise they act as a numeric keypad.
  1051. + The 'g', 'G', '[SHIFT]' and 'm' modifiers may also be used with the
  1052. + numberpad and the cursor keys.
  1053. + The mouse cursor shows which direction you will try to move if you
  1054. + press the mouse button when the mouse is in the Nethack window.  You may
  1055. + use the 'g', 'G', '[SHIFT]' and 'm' modifiers with the mouse button too.
  1056. + The '5' key on the numberpad invokes the "open door" command.
  1057. + The '0' key on the numberpad invokes the "do inventory" command.
  1058. + For pre-ADB keyboards (Mac+ keyboards and earlier), use the Command key
  1059. + for the Control key and the "`" (backquote) key for the escape key.
  1060. + Press the clear key (on the numberpad) to switch between movement mode
  1061. + and numeric keypad mode.
  1062. + The option key is the meta-key. For option-n, press option-shift-n and
  1063. + for option-u, press option-shift-u.
  1064. *** Old/Files    Sun Nov 19 20:58:09 1989
  1065. --- ./Files    Mon Feb 19 14:07:54 1990
  1066. ***************
  1067. *** 5,12
  1068.   
  1069.   
  1070.   (files in top directory)
  1071. ! Files           Install.dos     Install.unix    Makefile.top    Porting
  1072. ! README
  1073.   
  1074.   
  1075.   amiga:
  1076.  
  1077. --- 5,12 -----
  1078.   
  1079.   
  1080.   (files in top directory)
  1081. ! Files           Install.ami     Install.dos     Install.mac    Install.unix
  1082. ! Install.vms     Makefile.top    Porting         README
  1083.   
  1084.   amiga:
  1085.   (files for Amiga version)
  1086. ***************
  1087. *** 8,14
  1088.   Files           Install.dos     Install.unix    Makefile.top    Porting
  1089.   README
  1090.   
  1091.   amiga:
  1092.   (files for Amiga version)
  1093.   Install.ami     Makefile.ami    NetHack.cnf     ami.lnk         amidos.c
  1094.  
  1095. --- 8,13 -----
  1096.   Files           Install.ami     Install.dos     Install.mac    Install.unix
  1097.   Install.vms     Makefile.top    Porting         README
  1098.   
  1099.   amiga:
  1100.   (files for Amiga version)
  1101.   Makefile.ami    NHScore.uu      NHinfo.uu       NetHack.cnf     NewGame.uu
  1102. ***************
  1103. *** 11,19
  1104.   
  1105.   amiga:
  1106.   (files for Amiga version)
  1107. ! Install.ami     Makefile.ami    NetHack.cnf     ami.lnk         amidos.c
  1108. ! amifont.uu      amifont8.uu     amimenu.c       amitcap.c       amitty.c
  1109. ! amiunix.c       amiwind.c       fcntl.h         signal.h        stdio.h
  1110.   
  1111.   
  1112.   auxil:
  1113.  
  1114. --- 10,19 -----
  1115.   
  1116.   amiga:
  1117.   (files for Amiga version)
  1118. ! Makefile.ami    NHScore.uu      NHinfo.uu       NetHack.cnf     NewGame.uu
  1119. ! ami.lnk         amidos.c        amifont.uu      amifont8.uu     amimenu.c
  1120. ! amitcap.c       amitty.c        amiunix.c       amiwbench.c     amiwind.c
  1121. ! compact.lat     dflticon.uu
  1122.   
  1123.   auxil:
  1124.   (files for all versions)
  1125. ***************
  1126. *** 15,21
  1127.   amifont.uu      amifont8.uu     amimenu.c       amitcap.c       amitty.c
  1128.   amiunix.c       amiwind.c       fcntl.h         signal.h        stdio.h
  1129.   
  1130.   auxil:
  1131.   (files for all versions)
  1132.   Guidebook.mn    castle.des      cmdhelp         data.base       endgame.des
  1133.  
  1134. --- 15,20 -----
  1135.   amitcap.c       amitty.c        amiunix.c       amiwbench.c     amiwind.c
  1136.   compact.lat     dflticon.uu
  1137.   
  1138.   auxil:
  1139.   (files for all versions)
  1140.   Guidebook.mn    castle.des      cmdhelp         data.base       endgame.des
  1141. ***************
  1142. *** 23,28
  1143.   oracles         rumors.fal      rumors.tru      tower.des
  1144.   (files for UNIX versions)
  1145.   Makefile.auxil  lev_comp.6      nethack.6       nethack.sh
  1146.   
  1147.   
  1148.   others:
  1149.  
  1150. --- 22,29 -----
  1151.   oracles         rumors.fal      rumors.tru      tower.des
  1152.   (files for UNIX versions)
  1153.   Makefile.auxil  lev_comp.6      nethack.6       nethack.sh
  1154. + (file for Macintosh version)
  1155. + MacHelp
  1156.   
  1157.   include:
  1158.   (files for all versions)
  1159. ***************
  1160. *** 24,29
  1161.   (files for UNIX versions)
  1162.   Makefile.auxil  lev_comp.6      nethack.6       nethack.sh
  1163.   
  1164.   
  1165.   others:
  1166.   (files for MSDOS version)
  1167.  
  1168. --- 25,44 -----
  1169.   (file for Macintosh version)
  1170.   MacHelp
  1171.   
  1172. + include:
  1173. + (files for all versions)
  1174. + MacAlert.h      amiconf.h       artifact.h      attrib.h        color.h
  1175. + config.h        coord.h         decl.h          def_os2.h       edog.h
  1176. + epri.h          eshk.h          extern.h        flag.h          func_tab.h
  1177. + global.h        gold.h          hack.h          lev.h           macconf.h
  1178. + mfndpos.h       mkroom.h        monattk.h       mondata.h       monflag.h
  1179. + monst.h         monsym.h        msdos.h         obj.h           objclass.h
  1180. + patchlevel.h    pcconf.h        permonst.h      prop.h          rm.h
  1181. + sp_lev.h        spell.h         system.h        termcap.h       tosconf.h
  1182. + tradstdc.h      trampoli.h      trap.h          unixconf.h      vault.h
  1183. + vmsconf.h       wseg.h          you.h           youprop.h
  1184. + (file for special level compiler (STRONGHOLD option))
  1185. + lev_comp.h
  1186.   
  1187.   mac:
  1188.   (files for Macintosh version)
  1189. ***************
  1190. *** 25,30
  1191.   Makefile.auxil  lev_comp.6      nethack.6       nethack.sh
  1192.   
  1193.   
  1194.   others:
  1195.   (files for MSDOS version)
  1196.   Make.ini        Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
  1197.  
  1198. --- 40,50 -----
  1199.   (file for special level compiler (STRONGHOLD option))
  1200.   lev_comp.h
  1201.   
  1202. + mac:
  1203. + (files for Macintosh version)
  1204. + MD.rsrc.hqx     MacAlert.c      NH3.proj.hqx    NH3.rsrc.hqx    Segments.mac
  1205. + mac.c           macfile.c       macinit.c
  1206.   others:
  1207.   (files for MSDOS version)
  1208.   Makefile.lib    Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
  1209. ***************
  1210. *** 27,35
  1211.   
  1212.   others:
  1213.   (files for MSDOS version)
  1214. ! Make.ini        Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
  1215. ! Makefile.tcc    Maketcc.ini     NetHack.cnf     ovlmgr.asm      ovlmgr.doc
  1216. ! ovlmgr.uu       termcap         termcap.uu      trampoli.c
  1217.   (files for MSDOS, Amiga, and Atari versions)
  1218.   pcmain.c        pctty.c         pcunix.c
  1219.   (file for MSDOS and new Atari versions)
  1220.  
  1221. --- 47,55 -----
  1222.   
  1223.   others:
  1224.   (files for MSDOS version)
  1225. ! Makefile.lib    Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
  1226. ! Makefile.tcc    NetHack.cnf     ovlmgr.asm      ovlmgr.doc      ovlmgr.uu
  1227. ! termcap         termcap.uu      trampoli.c
  1228.   (files for MSDOS, Amiga, and Atari versions)
  1229.   lev_lex.c       pcmain.c        pctty.c         pcunix.c
  1230.   (file for MSDOS and Atari versions)
  1231. ***************
  1232. *** 31,38
  1233.   Makefile.tcc    Maketcc.ini     NetHack.cnf     ovlmgr.asm      ovlmgr.doc
  1234.   ovlmgr.uu       termcap         termcap.uu      trampoli.c
  1235.   (files for MSDOS, Amiga, and Atari versions)
  1236. ! pcmain.c        pctty.c         pcunix.c
  1237. ! (file for MSDOS and new Atari versions)
  1238.   msdos.c
  1239.   (files for new Atari version)
  1240.   Makefile.st     atari.cnf       atarifnt.uue
  1241.  
  1242. --- 51,58 -----
  1243.   Makefile.tcc    NetHack.cnf     ovlmgr.asm      ovlmgr.doc      ovlmgr.uu
  1244.   termcap         termcap.uu      trampoli.c
  1245.   (files for MSDOS, Amiga, and Atari versions)
  1246. ! lev_lex.c       pcmain.c        pctty.c         pcunix.c
  1247. ! (file for MSDOS and Atari versions)
  1248.   msdos.c
  1249.   (files for  Atari version)
  1250.   Makefile.st     atari.cnf       atarifnt.uue
  1251. ***************
  1252. *** 34,40
  1253.   pcmain.c        pctty.c         pcunix.c
  1254.   (file for MSDOS and new Atari versions)
  1255.   msdos.c
  1256. ! (files for new Atari version)
  1257.   Makefile.st     atari.cnf       atarifnt.uue
  1258.   (file for old Atari version)
  1259.   oldtos.c
  1260.  
  1261. --- 54,60 -----
  1262.   lev_lex.c       pcmain.c        pctty.c         pcunix.c
  1263.   (file for MSDOS and Atari versions)
  1264.   msdos.c
  1265. ! (files for  Atari version)
  1266.   Makefile.st     atari.cnf       atarifnt.uue
  1267.   (Berkeley random number file, which may be included in any version)
  1268.   random.c
  1269. ***************
  1270. *** 36,43
  1271.   msdos.c
  1272.   (files for new Atari version)
  1273.   Makefile.st     atari.cnf       atarifnt.uue
  1274. - (file for old Atari version)
  1275. - oldtos.c
  1276.   (Berkeley random number file, which may be included in any version)
  1277.   random.c
  1278.   
  1279.  
  1280. --- 56,61 -----
  1281.   msdos.c
  1282.   (files for  Atari version)
  1283.   Makefile.st     atari.cnf       atarifnt.uue
  1284.   (Berkeley random number file, which may be included in any version)
  1285.   random.c
  1286.   
  1287. ***************
  1288. *** 41,62
  1289.   (Berkeley random number file, which may be included in any version)
  1290.   random.c
  1291.   
  1292. - include:
  1293. - (files for all versions)
  1294. - amiconf.h       artifact.h      attrib.h        color.h         config.h
  1295. - coord.h         decl.h          def_os2.h       edog.h          epri.h
  1296. - eshk.h          extern.h        flag.h          func_tab.h      global.h
  1297. - gold.h          hack.h          lev.h           macconf.h       mfndpos.h
  1298. - mkroom.h        monattk.h       mondata.h       monflag.h       monst.h
  1299. - monsym.h        msdos.h         obj.h           objclass.h      patchlevel.h
  1300. - pcconf.h        permonst.h      prop.h          rm.h            sp_lev.h
  1301. - spell.h         system.h        termcap.h       tosconf.h       tradstdc.h
  1302. - trampoli.h      trap.h          trapname.h      unixconf.h      vault.h
  1303. - vmsconf.h       wseg.h          you.h           youprop.h
  1304. - (file for special level compiler (STRONGHOLD option))
  1305. - lev_comp.h
  1306.   src:
  1307.   (files for all versions)
  1308.   allmain.c       alloc.c         apply.c         artifact.c      attrib.c
  1309.  
  1310. --- 59,64 -----
  1311.   (Berkeley random number file, which may be included in any version)
  1312.   random.c
  1313.   
  1314.   src:
  1315.   (files for all versions)
  1316.   allmain.c       alloc.c         apply.c         artifact.c      attrib.c
  1317. ***************
  1318. *** 84,90
  1319.   
  1320.   vms:
  1321.   (files for VMS version)
  1322. ! Install.vms     spec_lev.com    vmsbuild.com    vmsmain.c       vmsmisc.c
  1323.   vmstty.c        vmsunix.c
  1324.   (GNU termcap files that support VMS version)
  1325.   vmstermcap.c    vmstparam.c
  1326.  
  1327. --- 86,92 -----
  1328.   
  1329.   vms:
  1330.   (files for VMS version)
  1331. ! Install.com     spec_lev.com    vmsbuild.com    vmsmain.c       vmsmisc.c
  1332.   vmstty.c        vmsunix.c
  1333.   (GNU termcap files that support VMS version)
  1334.   vmstermcap.c    vmstparam.c
  1335. ***************
  1336. *** 88,95
  1337.   vmstty.c        vmsunix.c
  1338.   (GNU termcap files that support VMS version)
  1339.   vmstermcap.c    vmstparam.c
  1340. - mac:
  1341. - (files for Macintosh version)
  1342. - Install.mac     Makedefs.rma    Nethack.rma     Segments.mac    hackfont.hqx
  1343. - mac.c           macfile.c       macinit.c       makedefs.r      nethack.r
  1344.  
  1345. --- 90,92 -----
  1346.   vmstty.c        vmsunix.c
  1347.   (GNU termcap files that support VMS version)
  1348.   vmstermcap.c    vmstparam.c
  1349. *** Old/mac/Segments.mac    Sun Nov 19 21:01:33 1989
  1350. --- mac/Segments.mac    Mon Jan 29 23:49:38 1990
  1351. ***************
  1352. *** 20,26
  1353.   cmd.c
  1354.   getline.c
  1355.   mac.c
  1356. - macfile.c
  1357.   MacTraps
  1358.   pcmain.c
  1359.   prisym.c
  1360.  
  1361. --- 20,25 -----
  1362.   cmd.c
  1363.   getline.c
  1364.   mac.c
  1365.   MacTraps
  1366.   pcunix.c
  1367.   random.c
  1368. ***************
  1369. *** 22,29
  1370.   mac.c
  1371.   macfile.c
  1372.   MacTraps
  1373. ! pcmain.c
  1374. ! prisym.c
  1375.   random.c
  1376.   rnd.c
  1377.   termcap.c
  1378.  
  1379. --- 21,27 -----
  1380.   getline.c
  1381.   mac.c
  1382.   MacTraps
  1383. ! pcunix.c
  1384.   random.c
  1385.   rnd.c
  1386.   termcap.c
  1387. ***************
  1388. *** 27,32
  1389.   random.c
  1390.   rnd.c
  1391.   termcap.c
  1392.   
  1393.   ===== Seg 2 =====
  1394.   apply.c
  1395.  
  1396. --- 25,31 -----
  1397.   random.c
  1398.   rnd.c
  1399.   termcap.c
  1400. + topl.c
  1401.   
  1402.   ===== Seg 2 =====
  1403.   mkobj.c
  1404. ***************
  1405. *** 29,37
  1406.   termcap.c
  1407.   
  1408.   ===== Seg 2 =====
  1409. ! apply.c
  1410. ! attrib.c
  1411. ! do.c
  1412.   
  1413.   ===== Seg 3 =====
  1414.   dog.c
  1415.  
  1416. --- 28,40 -----
  1417.   topl.c
  1418.   
  1419.   ===== Seg 2 =====
  1420. ! mkobj.c
  1421. ! mkroom.c
  1422. ! mon.c
  1423. ! mondata.c
  1424. ! monmove.c
  1425. ! track.c
  1426. ! were.c
  1427.   
  1428.   ===== Seg 3 =====
  1429.   engrave.c
  1430. ***************
  1431. *** 34,44
  1432.   do.c
  1433.   
  1434.   ===== Seg 3 =====
  1435. ! dog.c
  1436. ! dogmove.c
  1437. ! dokick.c
  1438. ! dothrow.c
  1439. ! do_name.c
  1440.   hack.c
  1441.   
  1442.   ===== Seg 4 =====
  1443.  
  1444. --- 37,43 -----
  1445.   were.c
  1446.   
  1447.   ===== Seg 3 =====
  1448. ! engrave.c
  1449.   hack.c
  1450.   invent.c
  1451.   mthrowu.c
  1452. ***************
  1453. *** 40,45
  1454.   dothrow.c
  1455.   do_name.c
  1456.   hack.c
  1457.   
  1458.   ===== Seg 4 =====
  1459.   do_wear.c
  1460.  
  1461. --- 39,46 -----
  1462.   ===== Seg 3 =====
  1463.   engrave.c
  1464.   hack.c
  1465. + invent.c
  1466. + mthrowu.c
  1467.   
  1468.   ===== Seg 4 =====
  1469.   dbridge.c
  1470. ***************
  1471. *** 42,49
  1472.   hack.c
  1473.   
  1474.   ===== Seg 4 =====
  1475. ! do_wear.c
  1476. ! eat.c
  1477.   shk.c
  1478.   shknam.c
  1479.   
  1480.  
  1481. --- 43,55 -----
  1482.   mthrowu.c
  1483.   
  1484.   ===== Seg 4 =====
  1485. ! dbridge.c
  1486. ! dog.c
  1487. ! dogmove.c
  1488. ! pri.c
  1489. ! priest.c
  1490. ! ===== Seg 5 =====
  1491.   shk.c
  1492.   shknam.c
  1493.   trap.c
  1494. ***************
  1495. *** 46,51
  1496.   eat.c
  1497.   shk.c
  1498.   shknam.c
  1499.   
  1500.   ===== Seg 5 =====
  1501.   engrave.c
  1502.  
  1503. --- 52,58 -----
  1504.   ===== Seg 5 =====
  1505.   shk.c
  1506.   shknam.c
  1507. + trap.c
  1508.   
  1509.   ===== Seg 6 =====
  1510.   stdio [LIB]
  1511. ***************
  1512. *** 47,60
  1513.   shk.c
  1514.   shknam.c
  1515.   
  1516. - ===== Seg 5 =====
  1517. - engrave.c
  1518. - exper.c
  1519. - extralev.c
  1520. - fountain.c
  1521. - invent.c
  1522. - vault.c
  1523.   ===== Seg 6 =====
  1524.   lock.c
  1525.   makemon.c
  1526.  
  1527. --- 54,59 -----
  1528.   shknam.c
  1529.   trap.c
  1530.   
  1531.   ===== Seg 6 =====
  1532.   stdio [LIB]
  1533.   storage [LIB]
  1534. ***************
  1535. *** 56,65
  1536.   vault.c
  1537.   
  1538.   ===== Seg 6 =====
  1539. ! lock.c
  1540. ! makemon.c
  1541. ! mcastu.c
  1542. ! mhitm.c
  1543.   
  1544.   ===== Seg 7 =====
  1545.   mhitu.c
  1546.  
  1547. --- 55,65 -----
  1548.   trap.c
  1549.   
  1550.   ===== Seg 6 =====
  1551. ! stdio [LIB]
  1552. ! storage [LIB]
  1553. ! strings [LIB]
  1554. ! Math [LIB]
  1555. ! unix [LIB]
  1556.   
  1557.   ===== Seg 7 =====
  1558.   makemon.c
  1559. ***************
  1560. *** 62,69
  1561.   mhitm.c
  1562.   
  1563.   ===== Seg 7 =====
  1564. ! mhitu.c
  1565. ! uhitm.c
  1566.   
  1567.   ===== Seg 8 =====
  1568.   mklev.c
  1569.  
  1570. --- 62,71 -----
  1571.   unix [LIB]
  1572.   
  1573.   ===== Seg 7 =====
  1574. ! makemon.c
  1575. ! mkmaze.c
  1576. ! prisym.c
  1577. ! read.c
  1578.   
  1579.   ===== Seg 8 =====
  1580.   artifact.c
  1581. ***************
  1582. *** 66,75
  1583.   uhitm.c
  1584.   
  1585.   ===== Seg 8 =====
  1586. ! mklev.c
  1587. ! mkobj.c
  1588. ! mkroom.c
  1589. ! mon.c
  1590.   
  1591.   ===== Seg 9 =====
  1592.   mondata.c
  1593.  
  1594. --- 68,79 -----
  1595.   read.c
  1596.   
  1597.   ===== Seg 8 =====
  1598. ! artifact.c
  1599. ! attrib.c
  1600. ! search.c
  1601. ! sounds.c
  1602. ! timeout.c
  1603. ! wizard.c
  1604.   
  1605.   ===== Seg 9 =====
  1606.   mhitu.c
  1607. ***************
  1608. *** 72,82
  1609.   mon.c
  1610.   
  1611.   ===== Seg 9 =====
  1612. ! mondata.c
  1613. ! monmove.c
  1614. ! mthrowu.c
  1615. ! music.c
  1616. ! objnam.c
  1617.   
  1618.   ===== Seg 10 =====
  1619.   pager.c
  1620.  
  1621. --- 76,82 -----
  1622.   wizard.c
  1623.   
  1624.   ===== Seg 9 =====
  1625. ! mhitu.c
  1626.   
  1627.   ===== Seg 10 =====
  1628.   do_name.c
  1629. ***************
  1630. *** 79,85
  1631.   objnam.c
  1632.   
  1633.   ===== Seg 10 =====
  1634. ! pager.c
  1635.   pickup.c
  1636.   polyself.c
  1637.   potion.c
  1638.  
  1639. --- 79,85 -----
  1640.   mhitu.c
  1641.   
  1642.   ===== Seg 10 =====
  1643. ! do_name.c
  1644.   pickup.c
  1645.   weapon.c
  1646.   
  1647. ***************
  1648. *** 81,88
  1649.   ===== Seg 10 =====
  1650.   pager.c
  1651.   pickup.c
  1652. ! polyself.c
  1653. ! potion.c
  1654.   
  1655.   ===== Seg 11 =====
  1656.   pray.c
  1657.  
  1658. --- 81,87 -----
  1659.   ===== Seg 10 =====
  1660.   do_name.c
  1661.   pickup.c
  1662. ! weapon.c
  1663.   
  1664.   ===== Seg 11 =====
  1665.   mcastu.c
  1666. ***************
  1667. *** 85,93
  1668.   potion.c
  1669.   
  1670.   ===== Seg 11 =====
  1671. ! pray.c
  1672. ! pri.c
  1673. ! priest.c
  1674.   
  1675.   ===== Seg 12 =====
  1676.   read.c
  1677.  
  1678. --- 84,92 -----
  1679.   weapon.c
  1680.   
  1681.   ===== Seg 11 =====
  1682. ! mcastu.c
  1683. ! mhitm.c
  1684. ! polyself.c
  1685.   
  1686.   ===== Seg 12 =====
  1687.   lock.c
  1688. ***************
  1689. *** 90,103
  1690.   priest.c
  1691.   
  1692.   ===== Seg 12 =====
  1693. ! read.c
  1694. ! restore.c
  1695. ! rumors.c
  1696. ! save.c
  1697. ! search.c
  1698. ! sit.c
  1699. ! sounds.c
  1700. ! spell.c
  1701.   
  1702.   ===== Seg 13 =====
  1703.   sp_lev.c
  1704.  
  1705. --- 89,96 -----
  1706.   polyself.c
  1707.   
  1708.   ===== Seg 12 =====
  1709. ! lock.c
  1710. ! vault.c
  1711.   
  1712.   ===== Seg 13 =====
  1713.   decl.c
  1714. ***************
  1715. *** 100,128
  1716.   spell.c
  1717.   
  1718.   ===== Seg 13 =====
  1719. - sp_lev.c
  1720. - steal.c
  1721. - timeout.c
  1722. - topl.c
  1723. - track.c
  1724. - trap.c
  1725. - weapon.c
  1726. - were.c
  1727. - wield.c
  1728. - ===== Seg 14 =====
  1729. - Math [LIB]
  1730. - unix [LIB]
  1731. - worn.c
  1732. - write.c
  1733. - zap.c
  1734. - ===== Seg 15 =====
  1735. - stdio [LIB]
  1736. - storage [LIB]
  1737. - strings [LIB]
  1738. - ===== Seg 16 =====
  1739.   decl.c
  1740.   macinit.c
  1741.   monst.c
  1742.  
  1743. --- 93,98 -----
  1744.   vault.c
  1745.   
  1746.   ===== Seg 13 =====
  1747.   decl.c
  1748.   macfile.c
  1749.   macinit.c
  1750. ***************
  1751. *** 124,129
  1752.   
  1753.   ===== Seg 16 =====
  1754.   decl.c
  1755.   macinit.c
  1756.   monst.c
  1757.   objects.c
  1758.  
  1759. --- 94,100 -----
  1760.   
  1761.   ===== Seg 13 =====
  1762.   decl.c
  1763. + macfile.c
  1764.   macinit.c
  1765.   monst.c
  1766.   objects.c
  1767. ***************
  1768. *** 129,134
  1769.   objects.c
  1770.   options.c
  1771.   o_init.c
  1772.   u_init.c
  1773.   version.c
  1774.   
  1775.  
  1776. --- 100,107 -----
  1777.   objects.c
  1778.   options.c
  1779.   o_init.c
  1780. + pcmain.c
  1781. + pctty.c
  1782.   u_init.c
  1783.   version.c
  1784.   
  1785. ***************
  1786. *** 132,137
  1787.   u_init.c
  1788.   version.c
  1789.   
  1790.   ===== Seg 17 =====
  1791.   end.c
  1792.   pctty.c
  1793.  
  1794. --- 105,125 -----
  1795.   u_init.c
  1796.   version.c
  1797.   
  1798. + ===== Seg 14 =====
  1799. + apply.c
  1800. + exper.c
  1801. + ===== Seg 15 =====
  1802. + dothrow.c
  1803. + sit.c
  1804. + wield.c
  1805. + worn.c
  1806. + write.c
  1807. + ===== Seg 16 =====
  1808. + pager.c
  1809. + rumors.c
  1810.   ===== Seg 17 =====
  1811.   demon.c
  1812.   do.c
  1813. ***************
  1814. *** 133,138
  1815.   version.c
  1816.   
  1817.   ===== Seg 17 =====
  1818.   end.c
  1819.   pctty.c
  1820.   pcunix.c
  1821.  
  1822. --- 121,132 -----
  1823.   rumors.c
  1824.   
  1825.   ===== Seg 17 =====
  1826. + demon.c
  1827. + do.c
  1828. + steal.c
  1829. + worm.c
  1830. + ===== Seg 18 =====
  1831.   end.c
  1832.   rip.c
  1833.   topten.c
  1834. ***************
  1835. *** 134,141
  1836.   
  1837.   ===== Seg 17 =====
  1838.   end.c
  1839. - pctty.c
  1840. - pcunix.c
  1841.   rip.c
  1842.   topten.c
  1843.   
  1844.  
  1845. --- 128,133 -----
  1846.   
  1847.   ===== Seg 18 =====
  1848.   end.c
  1849.   rip.c
  1850.   topten.c
  1851.   
  1852. ***************
  1853. *** 139,146
  1854.   rip.c
  1855.   topten.c
  1856.   
  1857. ! ===== Seg 18 =====
  1858. ! artifact.c
  1859.   bones.c
  1860.   dbridge.c
  1861.   demon.c
  1862.  
  1863. --- 131,156 -----
  1864.   rip.c
  1865.   topten.c
  1866.   
  1867. ! ===== Seg 19 =====
  1868. ! fountain.c
  1869. ! potion.c
  1870. ! ===== Seg 20 =====
  1871. ! pray.c
  1872. ! ===== Seg 21 =====
  1873. ! sp_lev.c
  1874. ! ===== Seg 22 =====
  1875. ! mklev.c
  1876. ! restore.c
  1877. ! save.c
  1878. ! ===== Seg 23 =====
  1879. ! music.c
  1880. ! spell.c
  1881. ! ===== Seg 24 =====
  1882.   bones.c
  1883.   MacAlert.c
  1884.   
  1885. ***************
  1886. *** 142,149
  1887.   ===== Seg 18 =====
  1888.   artifact.c
  1889.   bones.c
  1890. ! dbridge.c
  1891. ! demon.c
  1892. ! mkmaze.c
  1893. ! wizard.c
  1894. ! worm.c
  1895.  
  1896. --- 152,176 -----
  1897.   
  1898.   ===== Seg 24 =====
  1899.   bones.c
  1900. ! MacAlert.c
  1901. ! ===== Seg 25 =====
  1902. ! do_wear.c
  1903. ! ===== Seg 26 =====
  1904. ! extralev.c
  1905. ! ===== Seg 27 =====
  1906. ! dokick.c
  1907. ! ===== Seg 28 =====
  1908. ! zap.c
  1909. ! ===== Seg 29 =====
  1910. ! eat.c
  1911. ! ===== Seg 30 =====
  1912. ! uhitm.c
  1913. ! ===== Seg 31 =====
  1914. ! objnam.c
  1915.  
  1916.