home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / usenet / volume7 / nethack3 / patch5b < prev    next >
Encoding:
Text File  |  1989-11-08  |  58.3 KB  |  2,635 lines

  1. Subject:  v08i049:  NetHack3 -  display oriented dungeons & dragons (Ver. 3.0), Patch5b
  2. Newsgroups: comp.sources.games
  3. Approved: billr@saab.CNA.TEK.COM
  4.  
  5. Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
  6. Posting-number: Volume 8, Issue 49
  7. Archive-name: NetHack3/Patch5b
  8. Patch-To: NetHack3: Volume 7, Issue 56-93
  9.  
  10. #! /bin/sh
  11. # This is a shell archive.  Remove anything before this line, then unpack
  12. # it by saving it into a file and typing "sh file".  To overwrite existing
  13. # files, type "sh file -c".  You can also feed this as standard input via
  14. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  15. # will see the following message at the end:
  16. #        "End of archive 2 (of 6)."
  17. # Contents:  patches05b
  18. # Wrapped by billr@saab on Tue Oct 17 13:16:13 1989
  19. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  20. if test -f 'patches05b' -a "${1}" != "-c" ; then 
  21.   echo shar: Will not clobber existing file \"'patches05b'\"
  22. else
  23. echo shar: Extracting \"'patches05b'\" \(55526 characters\)
  24. sed "s/^X//" >'patches05b' <<'END_OF_FILE'
  25. X*** /dev/null    Sun Oct 15 18:11:20 1989
  26. X--- mac/mac.c    Sat Oct 14 12:43:51 1989
  27. X***************
  28. X*** 0 ****
  29. X--- 1,823 ----
  30. X+ /*    SCCS Id: @(#)mac.c    3.0    88/08/05
  31. X+ /*      Copyright (c) Johnny Lee  1989    */ 
  32. X+ /* NetHack may be freely redistributed.  See license for details. */
  33. X+ 
  34. X+ /*    Source file for character I/O and miscellaneous */
  35. X+ /*    user interface routines for the macintosh */
  36. X+ 
  37. X+ #include    "hack.h"
  38. X+ 
  39. X+ /* Global variables */
  40. X+ WindowPtr    HackWindow;    /* points to Hack's window */
  41. X+ extern char    *keys[8];
  42. X+ extern short macflags;
  43. X+ 
  44. X+ int
  45. X+ tgetch()
  46. X+ 
  47. X+ {
  48. X+     char    ch;
  49. X+     EventRecord    theEvent;
  50. X+     Rect cursorRect;
  51. X+     long    message,cursorTime,start;
  52. X+     MenuHandle    theMenu;
  53. X+     short    keyCode;
  54. X+     term_info    *t;
  55. X+     boolean    noControlKey;
  56. X+     GrafPtr    oldPort,oldPort1;
  57. X+     static char nextCommand;
  58. X+     short aboutBox();
  59. X+     char mButtonDown();
  60. X+ #define noEscapeKey    noControlKey
  61. X+ #define    clearKey    0x47
  62. X+ #define ESCAPEkey    0x1B
  63. X+     
  64. X+     t = (term_info *)GetWRefCon(HackWindow);
  65. X+     cursorRect.left = t->tcur_x * t->charWidth + Screen_Border;
  66. X+     cursorRect.right = cursorRect.left + t->charWidth - 1;
  67. X+     cursorRect.top = t->height * t->tcur_y + Screen_Border;
  68. X+     cursorRect.bottom = cursorRect.top + t->height;
  69. X+     cursorTime = GetCaretTime()/2;
  70. X+     keyCode = 0;
  71. X+     noControlKey = (t->system.keyBoardType <= envMacPlusKbd) ? TRUE : FALSE;
  72. X+     
  73. X+     /* permit use of cursor keys and numeric keypad */
  74. X+     /* does the same translation as in msdos.c but includes cursor keys */
  75. X+     ch = '\0';
  76. X+     /* handle extended command from menu */
  77. X+     if (nextCommand && (macflags & (fExtCmdSeq1 | fExtCmdSeq2 | fExtCmdSeq3))) {
  78. X+         if (macflags & fExtCmdSeq1) {
  79. X+         ch = '#';
  80. X+         macflags = macflags ^ (fExtCmdSeq1 | fExtCmdSeq2);
  81. X+         } else if (macflags & fExtCmdSeq2) {
  82. X+         ch = nextCommand;
  83. X+         macflags = macflags ^ (fExtCmdSeq2 | fExtCmdSeq3);
  84. X+         if (!(macflags & fExtCmdSeq3))
  85. X+             nextCommand = '\0';
  86. X+         } else if (macflags & fExtCmdSeq3) {
  87. X+         ch = '\r';
  88. X+         macflags &= ~fExtCmdSeq3;
  89. X+         }
  90. X+     }
  91. X+     GetPort(&oldPort);
  92. X+     SetPort(HackWindow);
  93. X+     while (!ch) {
  94. X+         GetPort(&oldPort1);
  95. X+         SetPort((GrafPtr)HackWindow);
  96. X+         /* do cursor blinking */
  97. X+         message = TickCount() + cursorTime;
  98. X+         while (!WaitNextEvent(everyEvent, &theEvent, 10L, 0L)) {
  99. X+         /* wait until something occurs */
  100. X+         if (!Invisible) {
  101. X+             if (TickCount() > message) {
  102. X+             InvertRect(&cursorRect);
  103. X+             message = TickCount() + cursorTime;
  104. X+             keyCode = !keyCode;
  105. X+             }
  106. X+         }
  107. X+         }
  108. X+         if (keyCode)
  109. X+         InvertRect(&cursorRect);
  110. X+         SetPort(oldPort1);
  111. X+         if (theEvent.what == keyDown || theEvent.what == autoKey) {
  112. X+         /* use raw key codes */
  113. X+         keyCode = (LoWord(theEvent.message) & keyCodeMask)>>8;
  114. X+         if (keyCode == 50 && noEscapeKey)
  115. X+             ch = (char)ESCAPEkey;    /* ESC */
  116. X+         else if (keyCode == clearKey) {
  117. X+             macflags = macflags ^ fToggleNumPad;
  118. X+             SetWTitle(HackWindow,
  119. X+                 (macflags & fToggleNumPad)    ? "\015NetHack [MOV]"
  120. X+                             : "\015NetHack [NUM]");
  121. X+         } else if ((macflags & fToggleNumPad) &&
  122. X+                 (keyCode>64 && keyCode<127))
  123. X+             ch = t->keyMap[keyCode-65];
  124. X+         /* make the command key = control key on old Mac keyboards */
  125. X+         if ((theEvent.modifiers & cmdKey) && noControlKey) {
  126. X+             ch = (char)(theEvent.message & 0x1F);
  127. X+         }
  128. X+         if ((theEvent.modifiers & shiftKey) && (ch)) {
  129. X+             ch = (ch == '.') ? ':' : (char)toupper(ch);
  130. X+         }
  131. X+         if (theEvent.modifiers & optionKey) {
  132. X+             for(start = 43; start < 56; start++) {
  133. X+             if (t->keyMap[start] == (char)(theEvent.message & 0xFFL)) {
  134. X+                 ch = t->keyMap[start - 13];
  135. X+                 break;
  136. X+             }
  137. X+             }
  138. X+         }
  139. X+         /* not a cursor key or from the numeric keypad */
  140. X+         if (!ch && keyCode != clearKey) {
  141. X+             ch = (char)(theEvent.message & 0xFF);
  142. X+         }
  143. X+         } else {
  144. X+         /* what other events to handle */
  145. X+         switch (theEvent.what) {        
  146. X+             case nullEvent:
  147. X+             SetCursor(&ARROW_CURSOR);
  148. X+             break;
  149. X+             case app4Evt:
  150. X+ #define    kSuspendResumeMessage 1  /* high byte of suspend/resume event message */
  151. X+ #define    SuspResIsResume(evtMessage)    ((evtMessage) & 0x00000001)
  152. X+ 
  153. X+             switch (theEvent.message >> 24) {
  154. X+                 case kSuspendResumeMessage:
  155. X+                 if (!SuspResIsResume(theEvent.message)) {
  156. X+                     /* ---------- SUSPEND EVENT ------------ */
  157. X+                     if (macflags & fZoomOnContextSwitch)    
  158. X+                     SizeWindow(HackWindow,60,60,TRUE);
  159. X+                 } else {
  160. X+                     /* ---------- RESUME EVENT ------------- */
  161. X+                     if (macflags & fZoomOnContextSwitch)    
  162. X+                     SizeWindow(HackWindow,
  163. X+                      (t->maxCol * t->charWidth) + 2*Screen_Border,
  164. X+                      (t->maxRow * t->height) + 2*Screen_Border,
  165. X+                      TRUE);
  166. X+                 }
  167. X+                 break;
  168. X+             }
  169. X+             break;
  170. X+         
  171. X+             case updateEvt:
  172. X+             if (HackWindow == (WindowPtr)theEvent.message) {
  173. X+ #ifdef TEXTCOLOR
  174. X+                 if (t->system.hasColorQD) {
  175. X+                 Rect    r;
  176. X+                 GDHandle    gd;
  177. X+                 
  178. X+                 r = (**(*(WindowPeek)HackWindow).contRgn).rgnBBox;
  179. X+                 LocalToGlobal(&r.top);
  180. X+                 LocalToGlobal(&r.bottom);
  181. X+                 gd = GetMaxDevice(&r);
  182. X+                 HLock((Handle)gd);
  183. X+                 t->inColor = (**(**gd).gdPMap).pixelSize > 1;
  184. X+                 HUnlock((Handle)gd);
  185. X+                 }
  186. X+ #endif
  187. X+                 GetPort(&oldPort);
  188. X+                 SetPort((GrafPtr)HackWindow);
  189. X+                 BeginUpdate(HackWindow);
  190. X+                 t = (term_info *)GetWRefCon(HackWindow);
  191. X+                 if (t->inColor && macflags & fDoUpdate) {
  192. X+                 keyCode = flags.toplin;
  193. X+                 flags.toplin = 0;
  194. X+                 docrt();
  195. X+                 flags.toplin = keyCode;
  196. X+                 } else {
  197. X+                 for (keyCode = 0;keyCode < t->maxRow; keyCode++) {
  198. X+                     MoveTo(Screen_Border,
  199. X+                         t->ascent + (keyCode * t->height)
  200. X+                             + Screen_Border);
  201. X+                     DrawText(&t->screen[keyCode][0], 0, t->maxCol);
  202. X+                 }
  203. X+                 }
  204. X+                 EndUpdate(HackWindow);
  205. X+                 SetPort(oldPort);
  206. X+             } 
  207. X+             break;
  208. X+                 
  209. X+             case activateEvt:
  210. X+             if (HackWindow == (WindowPtr)theEvent.message) {
  211. X+                 if (theMenu = GetMHandle(editMenu)) {
  212. X+                 if (theEvent.modifiers & activeFlag) {
  213. X+                     if (macflags & fDoUpdate) {
  214. X+                     SetMenuBar(t->fullMBarHandle);
  215. X+                     for (keyCode = fileMenu;
  216. X+                           keyCode <= extendMenu;keyCode++) {
  217. X+                         if (keyCode != editMenu)
  218. X+                         EnableItem(GetMHandle(keyCode), 0);
  219. X+                     }
  220. X+                     EnableItem(GetMHandle(appleMenu), 1);
  221. X+                     }
  222. X+                     DisableItem(theMenu, 0);
  223. X+                 } else {
  224. X+                     EnableItem(theMenu, 0);
  225. X+                     if (macflags & fDoUpdate) {
  226. X+                     SetMenuBar(t->shortMBarHandle);
  227. X+                     for (keyCode = fileMenu;
  228. X+                           keyCode <= extendMenu;keyCode++) {
  229. X+                         if (keyCode != editMenu)
  230. X+                         DisableItem(GetMHandle(keyCode), 0);
  231. X+                     }
  232. X+                     DisableItem(GetMHandle(appleMenu), 1);
  233. X+                     }
  234. X+                 }
  235. X+                 DrawMenuBar();
  236. X+                 }
  237. X+             }
  238. X+             break;
  239. X+                 
  240. X+             case mouseDown:
  241. X+             ch = mButtonDown(theEvent, t, &nextCommand);
  242. X+             break;
  243. X+         }
  244. X+         }        
  245. X+     }
  246. X+     SetPort(oldPort);
  247. X+     ObscureCursor();
  248. X+     return ((ch == '\r') ? '\n' : ch);
  249. X+ }
  250. X+ 
  251. X+ char
  252. X+ mButtonDown(theEvent, t, nextCommand)
  253. X+ EventRecord    theEvent;
  254. X+ term_info    *t;
  255. X+ char    *nextCommand;
  256. X+ {
  257. X+     Rect    boundsRect;
  258. X+     WindowPtr    theWindow;
  259. X+     long    message;
  260. X+     char    deskacc[256];
  261. X+     MenuHandle    theMenu;
  262. X+     char    ch;
  263. X+     short    menuBar;
  264. X+     GrafPtr    oldPort;
  265. X+ 
  266. X+     ch = '\0';
  267. X+     if (macflags & fDoNonKeyEvt) 
  268. X+     switch (FindWindow(theEvent.where,&theWindow)) {
  269. X+         case inMenuBar:
  270. X+ 
  271. X+         SetCursor(&ARROW_CURSOR);
  272. X+         message = MenuSelect(theEvent.where);
  273. X+ 
  274. X+         if (!HiWord(message))
  275. X+             break;
  276. X+ 
  277. X+         switch (HiWord(message)) {
  278. X+             case editMenu:
  279. X+             (void)SystemEdit((short)message - 1);
  280. X+             break;
  281. X+             case appleMenu:
  282. X+             if (LoWord(message) > 2) {
  283. X+                 GetItem(GetMHandle(HiWord(message)),LoWord(message),
  284. X+                     deskacc);
  285. X+                 SetMenuBar(t->shortMBarHandle);
  286. X+                 DrawMenuBar();
  287. X+                 (void)OpenDeskAcc(deskacc);
  288. X+                 if (theMenu = GetMHandle(editMenu))
  289. X+                     EnableItem(theMenu, 0);
  290. X+             } else
  291. X+                 if (aboutBox(1))
  292. X+                     ch = '?';
  293. X+             break;
  294. X+             case fileMenu:
  295. X+             case inventMenu:
  296. X+             case prepMenu:
  297. X+             case actionMenu:
  298. X+             case moveMenu:
  299. X+             *nextCommand =
  300. X+                 keys[HiWord(message)-appleMenu][LoWord(message)-1];
  301. X+             ch = (!(*nextCommand)) ? '\0' : (char)ESCAPEkey;
  302. X+             macflags |= (fExtCmdSeq2 | fExtCmdSeq3);
  303. X+ #ifdef TEXTCOLOR
  304. X+ #define    MAC_BLACK    0
  305. X+ #define    MAC_WHITE    7
  306. X+             if(HiWord(message) == fileMenu && LoWord(message) == 3) {
  307. X+                 theMenu = GetMHandle(HiWord(message));
  308. X+                 macflags = macflags ^ fInvertedScreen;
  309. X+                 CheckItem(theMenu, 3,
  310. X+                     (boolean)(macflags & fInvertedScreen));
  311. X+ 
  312. X+                 /* switch black & white */
  313. X+                 message = t->color[BLACK];
  314. X+                 t->color[MAC_BLACK] = t->color[MAC_WHITE];
  315. X+                 t->color[MAC_WHITE] = message;
  316. X+ 
  317. X+                 /* switch light blue & dark blue */
  318. X+                 message = t->color[BLUE];
  319. X+                 t->color[BLUE] = t->color[CYAN];
  320. X+                 t->color[CYAN] = message;
  321. X+ 
  322. X+                 ForeColor(t->color[MAC_BLACK]);
  323. X+                 BackColor(t->color[MAC_WHITE]);
  324. X+                 /* refresh screen without prompting 'More' */
  325. X+                 message = flags.toplin;
  326. X+                 flags.toplin = 0;
  327. X+                 docrt();
  328. X+                 flags.toplin = message;
  329. X+             }
  330. X+ #endif
  331. X+             break;
  332. X+             case extendMenu:
  333. X+             ch = (char)ESCAPEkey;
  334. X+             *nextCommand =
  335. X+              keys[HiWord(message) - appleMenu][LoWord(message) - 1];
  336. X+             macflags |= fExtCmdSeq1;
  337. X+             break;
  338. X+         }
  339. X+         HiliteMenu(0);
  340. X+         break;
  341. X+         
  342. X+         case inSysWindow:
  343. X+         SystemClick(&theEvent, theWindow);
  344. X+         break;
  345. X+ 
  346. X+         case inDrag:
  347. X+         if (!(theEvent.modifiers & cmdKey)) {
  348. X+             if (theWindow != FrontWindow()) {
  349. X+                 SelectWindow(theWindow);
  350. X+                 break;
  351. X+             }
  352. X+         }
  353. X+         menuBar = (ROM85 == -1) ? 20 : GetMBarHeight();
  354. X+ 
  355. X+         SetRect(&boundsRect, Screen_Border, menuBar + Screen_Border,
  356. X+             SCREEN_BITS.bounds.right - Screen_Border,
  357. X+             SCREEN_BITS.bounds.bottom - Screen_Border);
  358. X+         SetCursor(&ARROW_CURSOR);
  359. X+         DragWindow(theWindow, theEvent.where, &boundsRect);
  360. X+         break;
  361. X+     
  362. X+         case inContent:
  363. X+         SelectWindow(theWindow);
  364. X+         break;
  365. X+     }
  366. X+     return ch;
  367. X+ }
  368. X+ 
  369. X+ void
  370. X+ gethdate(name) char *name;
  371. X+ {
  372. X+ /*end gethdate*/}
  373. X+ 
  374. X+ int
  375. X+ uptodate(fd)
  376. X+ {
  377. X+     return(1);
  378. X+ }
  379. X+ 
  380. X+ #ifndef THINKC4
  381. X+ char *
  382. X+ getenv(s)
  383. X+ char *s;
  384. X+ {
  385. X+     return((char *)NULL);
  386. X+ }
  387. X+ 
  388. X+ int
  389. X+ memcmp(x,y,n)
  390. X+ char *x,*y;
  391. X+ int    n;
  392. X+ 
  393. X+ {
  394. X+     int i;
  395. X+     
  396. X+     i = 0;
  397. X+     while (i++< n && (*x++) == (*y++)) {
  398. X+         /*x++; y++; i++*/
  399. X+         ;
  400. X+     }
  401. X+     if (i != n)
  402. X+         return ((*x > *y) ? -1 : 1);
  403. X+     else
  404. X+         return (0);
  405. X+ }
  406. X+ #else
  407. X+ int
  408. X+ kbhit()
  409. X+ {    
  410. X+     EventRecord    theEvent;
  411. X+     
  412. X+     return (EventAvail(keyDownMask, &theEvent));
  413. X+ }
  414. X+ #endif
  415. X+ 
  416. X+ #ifdef AZTEC
  417. X+ 
  418. X+ sleep(x)
  419. X+ int    x;
  420. X+ {
  421. X+     long t;
  422. X+     
  423. X+     Delay((long)x, &t);
  424. X+ }
  425. X+ #endif
  426. X+     
  427. X+ 
  428. X+ int
  429. X+ mcurs(col,row)
  430. X+ short    col,row;
  431. X+ 
  432. X+ {
  433. X+     term_info    *t;
  434. X+     
  435. X+     t = (term_info *)GetWRefCon(HackWindow);
  436. X+     t->tcur_y = row;
  437. X+     t->tcur_x = col;
  438. X+     return 1;
  439. X+ }
  440. X+ 
  441. X+ void
  442. X+ mput(s)
  443. X+ char    *s;
  444. X+ {
  445. X+     unsigned short    sLen,temp;
  446. X+     GrafPtr        prevPort;
  447. X+     register term_info    *t;
  448. X+     Point        cur;
  449. X+     register short        x,y;
  450. X+     Rect        eraseRect;
  451. X+     register char        *stmp,*c,*c1;
  452. X+     char    savech;
  453. X+     
  454. X+     t = (term_info *)GetWRefCon(HackWindow);
  455. X+     sLen = strlen(s);
  456. X+     
  457. X+     x = t->tcur_x;
  458. X+     y = t->tcur_y;
  459. X+     if (y >= t->maxRow)
  460. X+         panic("mput - incorrect cursor position\n");
  461. X+     cur.h = (x * t->charWidth) + Screen_Border;
  462. X+     cur.v = t->ascent + (y * t->height) + Screen_Border;
  463. X+     GetPort(&prevPort);
  464. X+     SetPort((GrafPtr)HackWindow);
  465. X+     TextFont(t->fontNum);
  466. X+     TextSize(t->fontSize);
  467. X+     TextMode(srcCopy);
  468. X+     macflags &= ~0x1000;
  469. X+     /* a termcap-type escape string */
  470. X+     if (!strncmp(s, "\033[", 2)) {
  471. X+         switch(*(s + 2)) {
  472. X+         case 'c':    /* color kluge */
  473. X+             if (t->inColor) {
  474. X+             temp = (short)(*(s + 3) - 'a');
  475. X+             if (temp >= BLACK && temp < MAXCOLORS &&
  476. X+                 (temp % (MAXCOLORS / 2) != GRAY))    /* set colour */
  477. X+                 ForeColor(t->color[temp % (MAXCOLORS / 2)]);
  478. X+             if (temp == GRAY)
  479. X+                 macflags |= 0x1000;
  480. X+              /* yellow fgnd hard to see on white bgnd */
  481. X+              /* so change to green background */
  482. X+             if (temp == YELLOW || temp == BROWN)
  483. X+                 BackColor(t->color[GREEN]);
  484. X+             if (temp == BLUE)
  485. X+                 BackColor(t->color[CYAN]);
  486. X+             if (temp == CYAN)
  487. X+                 BackColor(t->color[BLUE]);
  488. X+             }
  489. X+             break;
  490. X+         case '0':    /* normal video begin */
  491. X+             if (*(s + 3) == 'm') {
  492. X+                 ForeColor(t->color[0]);
  493. X+                 BackColor(t->color[7]);
  494. X+             }
  495. X+             break;
  496. X+         case '1':    /* inverse video begin */
  497. X+             if (*(s + 3) == 'm') {
  498. X+                 ForeColor(t->color[7]);
  499. X+                 BackColor(t->color[0]);
  500. X+             }
  501. X+             break;
  502. X+         case 'A':    /* cursor up */
  503. X+             if (y > 0) {
  504. X+                 t->tcur_y--;
  505. X+                 cur.v -= t->height;
  506. X+             }
  507. X+             break;
  508. X+         case 'B':    /* cursor down */
  509. X+             if (y < t->maxRow) {
  510. X+                 t->tcur_y++;
  511. X+                 cur.v += t->height;
  512. X+             }
  513. X+             break;
  514. X+         case 'C':    /* cursor right */
  515. X+             if (x < t->maxCol) {
  516. X+                 t->tcur_x++;
  517. X+                 cur.h += t->charWidth;
  518. X+             }
  519. X+             break;
  520. X+         case 'D':    /* cursor left */
  521. X+             if (x > 0) {
  522. X+                 t->tcur_x--;
  523. X+                 cur.h -= t->charWidth;
  524. X+             }
  525. X+             break;
  526. X+         case 'H':    /* home cursor */
  527. X+             t->tcur_x = t->tcur_y = 0;
  528. X+             cur.h = Screen_Border;
  529. X+             cur.v = t->ascent + Screen_Border;
  530. X+             break;
  531. X+         case 'K':    /* clear to end of line */
  532. X+             eraseRect.top = cur.v - (t->ascent);
  533. X+             eraseRect.left = cur.h;
  534. X+             eraseRect.bottom = eraseRect.top + t->height;
  535. X+             eraseRect.right = (t->maxCol*t->charWidth) + Screen_Border;
  536. X+             EraseRect(&eraseRect);
  537. X+             for (temp = x, c = &(t->screen[y][x]); temp < t->maxCol; temp++)
  538. X+                 *c++ = ' ';
  539. X+             break;
  540. X+         case '2':
  541. X+             if (*(s+3) == 'J') {    /* clear screen */
  542. X+             x = y = t->tcur_x = t->tcur_y = 0;
  543. X+             eraseRect.top = eraseRect.left = Screen_Border;
  544. X+             eraseRect.bottom = t->maxRow*t->height + Screen_Border;
  545. X+             eraseRect.right = t->charWidth*t->maxCol + Screen_Border;
  546. X+             EraseRect(&eraseRect);
  547. X+             for (y = 0, c = t->screen[0]; y < t->maxCol * t->maxRow; y++) {
  548. X+                     *c++ = ' ';
  549. X+             }
  550. X+             cur.h = Screen_Border;
  551. X+             cur.v = t->ascent + Screen_Border;
  552. X+             }
  553. X+             break;
  554. X+         }
  555. X+         MoveTo(cur.h, cur.v);
  556. X+     } else {
  557. X+         short    charleft = sLen;
  558. X+         
  559. X+         MoveTo(cur.h, cur.v);
  560. X+         stmp = s;
  561. X+         
  562. X+         if (sLen) {
  563. X+         while (stmp < (s + sLen)) {
  564. X+             temp = (x + charleft - 1 < t->maxCol) ? sLen : t->maxCol - x;
  565. X+             savech = '\0';
  566. X+             c1 = stmp + temp;    /* point to the char after the end */
  567. X+             c = index(stmp, '\n');
  568. X+             if (c && c < c1) {
  569. X+                 c1 = c;
  570. X+                 savech = '\n';
  571. X+                 temp = (short)(c - stmp);
  572. X+                 /* don't want to include '\n' in print */
  573. X+             }
  574. X+             c = index(stmp, '\r');
  575. X+             if (c && c < c1) {
  576. X+                 c1 = c;
  577. X+                 savech = '\r';
  578. X+                 temp = (short)(c - stmp);
  579. X+                 /* don't want to include '\r' in print */
  580. X+             }
  581. X+             DrawText((Ptr)stmp, 0, temp);
  582. X+             BlockMove((Ptr)stmp, (Ptr)&(t->screen[y][x]), (long)temp);
  583. X+             stmp += temp + 1;
  584. X+             charleft -= temp + 1;
  585. X+             if (!savech) {
  586. X+                 t->tcur_x += temp;
  587. X+             }
  588. X+             if (t->tcur_x == t->maxCol || savech) {
  589. X+             t->tcur_x = 0;
  590. X+             if (savech != '\r')
  591. X+                 y = (++t->tcur_y);
  592. X+                 /* should probably check for overflow */
  593. X+             }
  594. X+             x = t->tcur_x;
  595. X+             cur.h = Screen_Border;
  596. X+             cur.v = y * t->height + t->ascent + Screen_Border;
  597. X+             MoveTo(cur.h,cur.v);
  598. X+         }
  599. X+         }
  600. X+     }
  601. X+     if (t->tcur_x >= t->maxCol) {
  602. X+         t->tcur_x = t->tcur_x % t->maxCol;
  603. X+         t->tcur_y++;
  604. X+     }
  605. X+     SetPort(prevPort);
  606. X+ }
  607. X+ 
  608. X+ int
  609. X+ mputc(c)
  610. X+ char    c;
  611. X+ {
  612. X+     GrafPtr        prevPort;
  613. X+     register term_info    *t;
  614. X+     Point        cur;
  615. X+     register short        x,y;
  616. X+     Rect        eraseRect;
  617. X+     char        savech;
  618. X+     PenState    pnState;
  619. X+     
  620. X+     t = (term_info *)GetWRefCon(HackWindow);
  621. X+     
  622. X+     x = t->tcur_x;
  623. X+     y = t->tcur_y;
  624. X+     cur.h = (x * t->charWidth) + Screen_Border;
  625. X+     cur.v = t->ascent + (y * t->height) + Screen_Border;
  626. X+     GetPort(&prevPort);
  627. X+     SetPort((GrafPtr)HackWindow);
  628. X+     TextFont(t->fontNum);
  629. X+     TextSize(t->fontSize);
  630. X+     TextMode(srcCopy);
  631. X+     
  632. X+     MoveTo(cur.h, cur.v);
  633. X+     savech = '\0';
  634. X+     if (c == '\b') {
  635. X+         if (x > 0) {
  636. X+             c = ' ';
  637. X+             x = (--t->tcur_x);
  638. X+             cur.h = (x * t->charWidth) + Screen_Border;
  639. X+             Move(-t->charWidth,0);
  640. X+             savech = '\b';
  641. X+         } else if (y > 0) {
  642. X+                 c = ' ';
  643. X+                 x = t->tcur_x = (t->maxCol - 1);
  644. X+                 y = (--t->tcur_y);
  645. X+                 cur.h = (x * t->charWidth) + Screen_Border;
  646. X+                 cur.v -= t->height;
  647. X+                 MoveTo(cur.h, cur.v);
  648. X+                 savech = '\b';
  649. X+         }
  650. X+     }
  651. X+     if (c == '\007') {
  652. X+         SysBeep(1);
  653. X+     } else if ((c != '\n') && (c != '\r')) {
  654. X+         t->screen[y][x] = c;
  655. X+         if (macflags & 0x1000) {
  656. X+             eraseRect.top = cur.v -t->ascent;
  657. X+             eraseRect.bottom = eraseRect.top + t->height;
  658. X+             eraseRect.left = cur.h;
  659. X+             eraseRect.right = cur.h + t->charWidth;
  660. X+             GetPenState(&pnState);
  661. X+             FillRect(&eraseRect, dkGray);
  662. X+             SetPenState(&pnState);
  663. X+             macflags &= ~0x1000;
  664. X+             TextMode(srcOr);
  665. X+         }
  666. X+         DrawText(&c, 0, 1);
  667. X+         if (!savech)
  668. X+             t->tcur_x++;
  669. X+     } else {
  670. X+         t->tcur_x = 0;
  671. X+         if (t->tcur_y < t->maxRow) {
  672. X+             if (c == '\n')
  673. X+                 t->tcur_y++;
  674. X+         }
  675. X+         cur.h = (t->tcur_x * t->charWidth) + Screen_Border;
  676. X+         cur.v = t->ascent + (t->tcur_y * t->height) + Screen_Border;
  677. X+         MoveTo(cur.h,cur.v);
  678. X+     }
  679. X+     SetPort(prevPort);    
  680. X+     return 1;
  681. X+ }
  682. X+ 
  683. X+ int
  684. X+ mputs(s)
  685. X+ char    *s;
  686. X+ {
  687. X+     mput(s);
  688. X+     return 1;
  689. X+ }
  690. X+         
  691. X+         
  692. X+         
  693. X+ int
  694. X+ mprintf(fstr)
  695. X+ char    *fstr;
  696. X+ {
  697. X+ #define    Bufsz    14        
  698. X+     char        numAsStr[Bufsz];
  699. X+     short        numsz;
  700. X+     char        *ps;
  701. X+     unsigned long    num;
  702. X+ 
  703. X+     boolean        convchar;
  704. X+     boolean        islong;
  705. X+     char        c;
  706. X+     char        *s;
  707. X+     char        prBuffer[128];
  708. X+     register char        *pb;
  709. X+     
  710. X+     prBuffer[0] = '\0';
  711. X+     pb = &prBuffer[0];
  712. X+     ps = (char *)&fstr;    /* convert to pointer to params */
  713. X+     ps += sizeof(char *);    /* skip over format string ptr */
  714. X+     while (*fstr)    {
  715. X+         s = index(fstr, '%');
  716. X+         if (s) {
  717. X+         num = (short)(s - fstr);
  718. X+         strncpy(pb, fstr, (short)num);
  719. X+         pb += num;
  720. X+         fstr = s;
  721. X+         } else {
  722. X+         Strcpy(pb, fstr);
  723. X+         fstr += strlen(fstr)-1;
  724. X+         }
  725. X+         switch (*fstr) {
  726. X+         case '%':
  727. X+             fstr++;
  728. X+             convchar = FALSE;
  729. X+             islong = FALSE;
  730. X+             do {
  731. X+             switch (*fstr) {
  732. X+                 case 'l':    /* long */
  733. X+                 islong = TRUE;
  734. X+                 fstr++;
  735. X+                 break;
  736. X+                 case 'u':    /* unsigned decimal */
  737. X+                 case 'd':    /* signed decimal */
  738. X+                 num = (islong) ? *(unsigned long *)ps
  739. X+                            : *(unsigned short *)ps;
  740. X+                 numsz = (islong) ? sizeof(long) : sizeof(short);
  741. X+                 ps += numsz;
  742. X+                 s = (islong) ? fstr - 2 : fstr - 1;
  743. X+                 c = *(fstr + 1);
  744. X+                 *(fstr + 1) = '\0';
  745. X+                 if (islong)
  746. X+                     sprintf(numAsStr, s, num);
  747. X+                 else
  748. X+                     sprintf(numAsStr, s, (short)num);
  749. X+                 *(fstr + 1) = c;
  750. X+                 Strcpy(pb, numAsStr);
  751. X+                 pb = (char *)(pb + strlen(numAsStr));
  752. X+                 convchar = TRUE;
  753. X+                 break;
  754. X+                 case 's':
  755. X+                 s = *(char **)ps;
  756. X+                 Strcpy(pb, s);
  757. X+                 pb = (char *)(pb + strlen(s));
  758. X+                 ps += sizeof(char *);
  759. X+                 convchar = TRUE;
  760. X+                 break;
  761. X+                 case 'c':
  762. X+                 c = *(unsigned short *)ps;
  763. X+                 numsz = sizeof(short);
  764. X+                 (*pb++) = (char)c;
  765. X+                 (*pb) = '\0';
  766. X+                 convchar = TRUE;
  767. X+                 ps += numsz;
  768. X+                 break;
  769. X+                 default:
  770. X+                 convchar = TRUE;
  771. X+             }
  772. X+             } while (!convchar);
  773. X+             break;
  774. X+         default:
  775. X+             break;
  776. X+         }
  777. X+         fstr++;
  778. X+     }
  779. X+     if (prBuffer[0])
  780. X+         mput(&prBuffer[0]);
  781. X+         
  782. X+     return 1;
  783. X+ }
  784. X+ 
  785. X+ short
  786. X+ aboutBox(prompt)
  787. X+ short    prompt;
  788. X+ {
  789. X+ #define    OK_BUTTON    1
  790. X+ #define    MORE_INFO_BUTTON    2
  791. X+ 
  792. X+     DialogPtr    theDialog;
  793. X+     DialogRecord    space;
  794. X+     Rect    rect;
  795. X+     Handle    theControl;
  796. X+     short    type,itemHit;
  797. X+     GrafPtr    oldPort;
  798. X+     EventRecord    theEvent;
  799. X+     term_info    *t;
  800. X+     DialogTHndl    th = (DialogTHndl) GetResource('DLOG', 129);
  801. X+     short    dv, dh;
  802. X+ 
  803. X+     /* if about box on startup, centre about box on screen */
  804. X+     if (!prompt) {
  805. X+         rect = SCREEN_BITS.bounds;
  806. X+         dv = ((**th).boundsRect.bottom - 40 - (**th).boundsRect.top)/2;
  807. X+         dh = ((**th).boundsRect.right - (**th).boundsRect.left)/2;
  808. X+ 
  809. X+         (**th).boundsRect.bottom =
  810. X+                 (rect.bottom + rect.top + MBarHeight)/2 + dv;
  811. X+         (**th).boundsRect.top     =
  812. X+                 (rect.bottom + rect.top + MBarHeight)/2 - dv;
  813. X+         (**th).boundsRect.right     = (rect.right + rect.left)/2 + dh;
  814. X+         (**th).boundsRect.left     = (rect.right + rect.left)/2 - dh;
  815. X+     }
  816. X+ 
  817. X+     GetPort(&oldPort);
  818. X+     theDialog = GetNewDialog(129, &space,(WindowPtr)-1);
  819. X+     if (!prompt) {
  820. X+         HideDItem(theDialog, OK_BUTTON);
  821. X+         HideDItem(theDialog, MORE_INFO_BUTTON);
  822. X+     } else
  823. X+         MoveWindow((WindowPtr)theDialog, LEFT_OFFSET, TOP_OFFSET, TRUE);
  824. X+ 
  825. X+     ShowWindow((WindowPtr)theDialog);
  826. X+     SetPort(theDialog);
  827. X+     TextFont(1);    /* 9 pt. Geneva */
  828. X+     TextSize(9);
  829. X+     DrawDialog(theDialog);
  830. X+     itemHit = 0;
  831. X+     if (prompt) {
  832. X+         /* BOLD the OK button */
  833. X+         GetDItem(theDialog, OK_BUTTON, &type, &theControl, &rect);
  834. X+         PenSize(3,3);    
  835. X+         InsetRect(&rect,-4,-4);
  836. X+         FrameRoundRect(&rect,16,16);
  837. X+         PenSize(1,1);
  838. X+         while ((itemHit != OK_BUTTON) && (itemHit != MORE_INFO_BUTTON)) {
  839. X+             ModalDialog(NULL, &itemHit);
  840. X+         }
  841. X+     } else {
  842. X+         while (!itemHit) {
  843. X+             if (GetNextEvent(everyEvent,&theEvent))
  844. X+                 if (theEvent.what == mouseDown)
  845. X+                     itemHit = OK_BUTTON;
  846. X+         }
  847. X+     }
  848. X+     CloseDialog(theDialog);
  849. X+     ReleaseResource((Handle)th);
  850. X+     SetPort(oldPort);
  851. X+     return (itemHit == MORE_INFO_BUTTON);
  852. X+ }
  853. X*** /dev/null    Sun Oct 15 18:12:23 1989
  854. X--- mac/nethack.r    Sat Oct 14 11:57:06 1989
  855. X***************
  856. X*** 0 ****
  857. X--- 1,1753 ----
  858. X+ /******************************************************
  859. X+  *                                                    *
  860. X+  *        nethack.r                                   *
  861. X+  *                                                    *
  862. X+  *        Resource file for NetHack 3.0g application  *
  863. X+  *                                                    *
  864. X+  *        Copyright 1989 by Johnny Lee                *
  865. X+  *        NetHack may be freely redistributed.        *
  866. X+  *      See license for details.              *
  867. X+  *                                                    *
  868. X+  ******************************************************/
  869. X+ 
  870. X+ #include     "Types.r"
  871. X+ #include    "SysTypes.r"
  872. X+ 
  873. X+ resource 'ICN#' (129, purgeable) {
  874. X+     { /* array: 2 elements */
  875. X+         /* [1] */
  876. X+         $"4B BA 91 A8 6A 12 AA 28 5B 13 BA 30 4A 12 AA 28"
  877. X+         $"4B 92 A9 A8 00 00 00 10 08 00 00 10 09 81 80 10"
  878. X+         $"09 83 C0 10 09 83 E0 10 08 C3 C0 10 08 C1 80 10"
  879. X+         $"08 63 DF 90 08 67 FF 90 08 3F FF 90 08 1B DF 90"
  880. X+         $"08 03 DF 90 08 03 DF 90 08 03 CF 10 08 03 C6 10"
  881. X+         $"08 00 00 10 08 E2 57 10 09 05 54 10 08 E7 56 10"
  882. X+         $"08 15 54 10 08 E5 27 10 04 00 00 20 03 FF FF C0",
  883. X+         /* [2] */
  884. X+         $"7F FF FF FF 7F FF FF FF 7F FF FF FF 7F FF FF FF"
  885. X+         $"7F FF FF FF 0F FF FF F0 0F FF FF F0 0F FF FF F0"
  886. X+         $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
  887. X+         $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
  888. X+         $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
  889. X+         $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
  890. X+         $"0F FF FF F0 0F FF FF F0 07 FF FF E0 03 FF FF C0"
  891. X+     }
  892. X+ };
  893. X+ 
  894. X+ resource 'ICN#' (128, purgeable) {
  895. X+     { /* array: 2 elements */
  896. X+         /* [1] */
  897. X+         $"00 00 00 00 00 00 00 00 4B BA 91 A8 6A 12 AA 30"
  898. X+         $"5B 13 BA 28 4A 12 AA 28 4B 92 A9 A8 00 00 00 00"
  899. X+         $"00 00 00 00 30 00 00 00 38 01 80 00 1C 03 C0 00"
  900. X+         $"0E 03 E7 80 07 03 CF 80 03 E1 88 80 01 C3 C8 80"
  901. X+         $"01 E7 E8 80 01 3F F9 80 00 1B DB 80 00 03 CE 80"
  902. X+         $"00 03 CC 80 00 03 C8 80 00 03 E4 80 00 03 F3 80"
  903. X+         $"00 03 B8 00 00 07 1C 00 00 1E 0C 00 00 1C 0C 00"
  904. X+         $"00 18 0E 00 00 1C 0F",
  905. X+         /* [2] */
  906. X+         $"7F FF FF FE FF FF FF FF FF FF FF FD FF FF FF FD"
  907. X+         $"FF FF FF FD FF FF FF FF FF FF FF FD FF FF FF FF"
  908. X+         $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
  909. X+         $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
  910. X+         $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
  911. X+         $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
  912. X+         $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
  913. X+         $"FF FF FF 87 FF FF FF D7 FF FF FF 93 FF FF FF FF"
  914. X+     }
  915. X+ };
  916. X+ 
  917. X+ resource 'ICN#' (130, purgeable) {
  918. X+     { /* array: 2 elements */
  919. X+         /* [1] */
  920. X+         $"4B BA 91 A8 6A 12 AA 28 5B 13 BA 30 4A 12 AA 28"
  921. X+         $"4B 92 A9 A8 00 00 00 00 04 00 00 20 09 81 80 10"
  922. X+         $"09 83 C0 10 09 83 E0 10 08 C3 C0 10 08 C1 80 10"
  923. X+         $"08 63 DF 90 08 67 FF 90 08 3F FF 90 08 1B DF 90"
  924. X+         $"08 03 DF 90 08 03 CF 10 08 03 C6 10 08 03 C0 10"
  925. X+         $"08 00 00 10 08 00 00 10 04 00 00 20 00 00 00 00"
  926. X+         $"74 59 09 9C 42 95 15 50 61 19 15 98 42 91 15 50"
  927. X+         $"74 51 C9 5C",
  928. X+         /* [2] */
  929. X+         $"7F FF FF FE 7F FF FF FE 7F FF FF FE 7F FF FF FE"
  930. X+         $"7F FF FF FE 0F FF FF F0 0F FF FF F0 0F FF FF F0"
  931. X+         $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
  932. X+         $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
  933. X+         $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0"
  934. X+         $"0F FF FF F0 0F FF FF F0 0F FF FF F0 FF FF FF FE"
  935. X+         $"FF FF FF FE FF FF FF FE FF FF FF FE FF FF FF FE"
  936. X+         $"FF FF FF FE FF FF FF FE"
  937. X+     }
  938. X+ };
  939. X+ 
  940. X+ resource 'ICN#' (131, purgeable) {
  941. X+     { /* array: 2 elements */
  942. X+         /* [1] */
  943. X+         $"00 00 00 00 4B BA 91 A8 6A 12 AA 28 5B 13 BA 30"
  944. X+         $"4A 12 AA 28 4B 92 A9 A8 00 00 00 00 0F FF C0 00"
  945. X+         $"0F FF C0 00 01 80 00 00 3F FF FC 00 3F FF FC 00"
  946. X+         $"00 00 C0 00 00 3F FF F0 00 3F FF F0 00 18 00 C0"
  947. X+         $"0F FE 00 C0 0F FE 00 C0 01 80 00 C0 03 FF FF FE"
  948. X+         $"03 FF FF FE 00 00 0C 00 00 00 0C 00 00 00 00 00"
  949. X+         $"02 3A BA 00 02 22 A2 00 02 32 B2 00 02 22 A2 00"
  950. X+         $"03 B9 3B 80",
  951. X+         /* [2] */
  952. X+         $"FF FF FF FC FF FF FF FC FF FF FF FC FF FF FF FC"
  953. X+         $"FF FF FF FC FF FF FF FC FF FF FF FC 1F FF E0 00"
  954. X+         $"1F FF E0 00 7F FF FE 00 7F FF FE 00 7F FF FE 00"
  955. X+         $"7F FF FF F8 00 7F FF F8 00 7F FF F8 1F FF FF E0"
  956. X+         $"1F FF FF E0 1F FF FF E0 0F FF FF FF 0F FF FF FF"
  957. X+         $"0F FF FF FF 0F FF FF FC 0F FF FF FC 0F FF FF FC"
  958. X+         $"0F FF FF FC 0F FF FF FC 0F FF FF FC 0F FF FF FC"
  959. X+         $"0F FF FF FC 0F FF FF FC"
  960. X+     }
  961. X+ };
  962. X+ 
  963. X+ resource 'ICN#' (132, purgeable) {
  964. X+     { /* array: 2 elements */
  965. X+         /* [1] */
  966. X+         $"00 00 00 00 4B BA 91 A8 6A 12 AA 28 5B 13 BA 30"
  967. X+         $"4A 12 AA 28 4B 92 A9 A8 00 00 00 00 00 C0 03 00"
  968. X+         $"01 4F F2 80 02 30 0C 40 01 A0 05 80 00 40 02 00"
  969. X+         $"00 46 62 00 00 46 62 00 00 40 02 00 00 60 06 00"
  970. X+         $"00 21 84 00 00 50 0A 00 01 9B D9 80 02 28 14 40"
  971. X+         $"02 4B D2 40 01 44 22 80 00 83 C1 00 00 00 00 00"
  972. X+         $"0E 32 5C E0 09 4B 51 00 0E 4A D8 C0 09 4A 50 20"
  973. X+         $"0E 32 5D C0",
  974. X+         /* [2] */
  975. X+         $"FF FF FF FC FF FF FF FC FF FF FF FC FF FF FF FC"
  976. X+         $"FF FF FF FC FF FF FF FC FF FF FF FC 01 FF FF 80"
  977. X+         $"03 FF FF C0 07 FF FF E0 07 FF FF E0 03 FF FF C0"
  978. X+         $"00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00"
  979. X+         $"00 FF FF 00 01 FF FF 80 03 FF FF C0 07 FF FF E0"
  980. X+         $"07 FF FF E0 07 FF FF E0 07 FF FF E0 FF FF FF FF"
  981. X+         $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"
  982. X+         $"FF FF FF FF FF FF FF FF"
  983. X+     }
  984. X+ };
  985. X+ 
  986. X+ resource 'BNDL' (128, "NetHack for Mac", purgeable) {
  987. X+     'nh30',
  988. X+     0,
  989. X+     { /* array TypeArray: 2 elements */
  990. X+         /* [1] */
  991. X+         'ICN#',
  992. X+         { /* array IDArray: 5 elements */
  993. X+             /* [1] */
  994. X+             0, 128,
  995. X+             /* [2] */
  996. X+             1, 129,
  997. X+             /* [3] */
  998. X+             2, 130,
  999. X+             /* [4] */
  1000. X+             3, 131,
  1001. X+             /* [5] */
  1002. X+             4, 132
  1003. X+         },
  1004. X+         /* [2] */
  1005. X+         'FREF',
  1006. X+         { /* array IDArray: 5 elements */
  1007. X+             /* [1] */
  1008. X+             0, 128,
  1009. X+             /* [2] */
  1010. X+             1, 129,
  1011. X+             /* [3] */
  1012. X+             2, 130,
  1013. X+             /* [4] */
  1014. X+             3, 131,
  1015. X+             /* [5] */
  1016. X+             4, 132
  1017. X+         }
  1018. X+     }
  1019. X+ };
  1020. X+ 
  1021. X+ resource 'FREF' (128, "Application", purgeable) {
  1022. X+     'APPL',
  1023. X+     0,
  1024. X+     ""
  1025. X+ };
  1026. X+ 
  1027. X+ resource 'FREF' (129, "Save Char File", purgeable) {
  1028. X+     'SAVE',
  1029. X+     1,
  1030. X+     ""
  1031. X+ };
  1032. X+ 
  1033. X+ resource 'FREF' (130, "Explore file", purgeable) {
  1034. X+     'XPLR',
  1035. X+     2,
  1036. X+     ""
  1037. X+ };
  1038. X+ 
  1039. X+ resource 'FREF' (131, "Level Temp File", purgeable) {
  1040. X+     'LEVL',
  1041. X+     3,
  1042. X+     ""
  1043. X+ };
  1044. X+ 
  1045. X+ resource 'FREF' (132, "Bones File") {
  1046. X+     'BONE',
  1047. X+     4,
  1048. X+     ""
  1049. X+ };
  1050. X+ 
  1051. X+ resource 'DLOG' (128, "FindFile") {
  1052. X+     {40, 80, 100, 300},
  1053. X+     dBoxProc,
  1054. X+     invisible,
  1055. X+     noGoAway,
  1056. X+     0x0,
  1057. X+     128,
  1058. X+     "FindFile"
  1059. X+ };
  1060. X+ 
  1061. X+ resource 'DLOG' (129, "About NetHackI") {
  1062. X+     {63, 10, 263, 360},
  1063. X+     dBoxProc,
  1064. X+     invisible,
  1065. X+     noGoAway,
  1066. X+     0x0,
  1067. X+     129,
  1068. X+     ""
  1069. X+ };
  1070. X+ 
  1071. X+ resource 'DITL' (128) {
  1072. X+     { /* array DITLarray: 1 elements */
  1073. X+         /* [1] */
  1074. X+         {4, 8, 80, 212},
  1075. X+         StaticText {
  1076. X+             disabled,
  1077. X+             "Please locate^0 file^1 ^2\nor press Cance"
  1078. X+             "l to abort."
  1079. X+         }
  1080. X+     }
  1081. X+ };
  1082. X+ 
  1083. X+ resource 'DITL' (129) {
  1084. X+     { /* array DITLarray: 8 elements */
  1085. X+         /* [1] */
  1086. X+         {155, 60, 175, 120},
  1087. X+         Button {
  1088. X+             enabled,
  1089. X+             "OK"
  1090. X+         },
  1091. X+         /* [2] */
  1092. X+         {155, 184, 175, 274},
  1093. X+         Button {
  1094. X+             enabled,
  1095. X+             "More InfoI"
  1096. X+         },
  1097. X+         /* [3] */
  1098. X+         {10, 28, 26, 310},
  1099. X+         Picture {
  1100. X+             enabled,
  1101. X+             100
  1102. X+         },
  1103. X+         /* [4] */
  1104. X+         {68, 109, 86, 225},
  1105. X+         StaticText {
  1106. X+             enabled,
  1107. X+             "See license for details."
  1108. X+         },
  1109. X+         /* [5] */
  1110. X+         {36, 64, 52, 291},
  1111. X+         StaticText {
  1112. X+             enabled,
  1113. X+             "Copyright 1985, 1986, 1987, 1988, 1989."
  1114. X+         },
  1115. X+         /* [6] */
  1116. X+         {51, 37, 69, 323},
  1117. X+         StaticText {
  1118. X+             enabled,
  1119. X+             "By Stichting Mathematisch Centrum and Mi"
  1120. X+             "ke Stephenson."
  1121. X+         },
  1122. X+         /* [7] */
  1123. X+         {85, 109, 140, 333},
  1124. X+         StaticText {
  1125. X+             disabled,
  1126. X+             "Bug reports - email t-jlee@microsoft.UUC"
  1127. X+             "P or\nJohnny Lee\n388 Cummer Ave.\nWillowda"
  1128. X+             "le, Ont. CANADA M2M 2G2"
  1129. X+         },
  1130. X+         /* [8] */
  1131. X+         {97, 16, 116, 110},
  1132. X+         StaticText {
  1133. X+             enabled,
  1134. X+             "Macintosh port by:"
  1135. X+         }
  1136. X+     }
  1137. X+ };
  1138. X+ 
  1139. X+ data 'HDTA' (201, "Apple menu") {
  1140. X+     $"3F 00"                                          /* ?. */
  1141. X+ };
  1142. X+ 
  1143. X+ data 'HDTA' (202, "File menu") {
  1144. X+     $"4F 76 00 12 10 00 53 00 51"                     /* Ov....S.Q */
  1145. X+ };
  1146. X+ 
  1147. X+ data 'HDTA' (204, "Inventory Menu") {
  1148. X+     $"69 70 64 44 2C 40 2F 43"                        /* ipdD,@/C */
  1149. X+ };
  1150. X+ 
  1151. X+ data 'HDTA' (205, "Actions menu") {
  1152. X+     $"61 65 71 72 74 7A 5A"                           /* aeqrtzZ */
  1153. X+ };
  1154. X+ 
  1155. X+ data 'HDTA' (206, "Preparations menu") {
  1156. X+     $"77 50 52 54 57 29 5B 3D 5C 28"                  /* wPRTW)[=\( */
  1157. X+ };
  1158. X+ 
  1159. X+ data 'HDTA' (207, "Movement menu") {
  1160. X+     $"6F 63 04 73 3C 3E 14 2E 45"                     /* oc.s<>..E */
  1161. X+ };
  1162. X+ 
  1163. X+ data 'HDTA' (203, "Edit menu") {
  1164. X+     $"00 00 00 00 00 00"                              /* ...... */
  1165. X+ };
  1166. X+ 
  1167. X+ data 'HDTA' (208, "Extended Commands") {
  1168. X+     $"63 64 66 6A 6C 6D 6E 6F 70 72 73 74 75 77"      /* cdfjlmnoprstuw */
  1169. X+ };
  1170. X+ 
  1171. X+ data 'HDTA' (102, "graphics") {
  1172. X+     $"20 BA CD C9 BB C8 BC CE CA CB B9 CC B3 C4 5C 2F"/*  :MI;H<NJK9L3D\/ */
  1173. X+     $"EF FA B0 3C 3E 5E 22 7D 7B 23 5C 5F 3C 3E 23 23"/* ..0<>^"}{#\_<>## */
  1174. X+ };
  1175. X+ 
  1176. X+ data 'HDTA' (103, "keymap") {
  1177. X+     $"2E 6C 00 00 00 68 00 6A 00 00 00 70 6B 6D 00 00"/* .l...h.j...pkm.. */
  1178. X+     $"00 69 62 6A 6E 68 6F 6C 79 00 6B 75 00 00 E3 E4"/* .ibjnholy.ku.... */
  1179. X+     $"E6 EA EC ED CE EF F2 F3 F4 F5 F7 8D B6 C4 C6 C2"/* ....N......^M6DFB */
  1180. X+     $"B5 F6 BF A8 A7 A0 E8 B7 00 00 68 6C 6A 6B"      /* 5.?(' .7..hljk */
  1181. X+ };
  1182. X+ 
  1183. X+ data 'HDTA' (100) {
  1184. X+     $"00 00 00 02 00 00 00 09 06 4D 6F 6E 61 63 6F"   /* .......F.Monaco */
  1185. X+ };
  1186. X+ 
  1187. X+ data 'nh30' (0) {
  1188. X+     $"27 4E 65 74 48 61 63 6B 20 56 65 72 73 69 6F 6E"/* 'NetHack Version */
  1189. X+     $"20 33 2E 30 67 20 66 6F 72 20 74 68 65 20 4D 61"/*  3.0g for the Ma */
  1190. X+     $"63 69 6E 74 6F 73 68 A8"                        /* cintosh( */
  1191. X+ };
  1192. X+ 
  1193. X+ resource 'MENU' (102, "File") {
  1194. X+     102,
  1195. X+     textMenuProc,
  1196. X+     0x7FFFFF5F,
  1197. X+     enabled,
  1198. X+     "File",
  1199. X+     { /* array: 9 elements */
  1200. X+         /* [1] */
  1201. X+         "Set options", noIcon, noKey, noMark, plain,
  1202. X+         /* [2] */
  1203. X+         "Version number", noIcon, noKey, noMark, plain,
  1204. X+         /* [3] */
  1205. X+         "Invert Screen", noIcon, noKey, noMark, plain,
  1206. X+         /* [4] */
  1207. X+         "Redraw screen", noIcon, noKey, noMark, plain,
  1208. X+         /* [5] */
  1209. X+         "Repeat last message", noIcon, noKey, noMark, plain,
  1210. X+         /* [6] */
  1211. X+         "-", noIcon, noKey, noMark, plain,
  1212. X+         /* [7] */
  1213. X+         "Save game", noIcon, noKey, noMark, plain,
  1214. X+         /* [8] */
  1215. X+         "-", noIcon, noKey, noMark, plain,
  1216. X+         /* [9] */
  1217. X+         "Quit", noIcon, noKey, noMark, plain
  1218. X+     }
  1219. X+ };
  1220. X+ 
  1221. X+ resource 'MENU' (103, "Edit") {
  1222. X+     103,
  1223. X+     textMenuProc,
  1224. X+     0x7FFFFFFD,
  1225. X+     enabled,
  1226. X+     "Edit",
  1227. X+     { /* array: 6 elements */
  1228. X+         /* [1] */
  1229. X+         "Undo", noIcon, "Z", noMark, plain,
  1230. X+         /* [2] */
  1231. X+         "-", noIcon, noKey, noMark, plain,
  1232. X+         /* [3] */
  1233. X+         "Cut", noIcon, "X", noMark, plain,
  1234. X+         /* [4] */
  1235. X+         "Copy", noIcon, "C", noMark, plain,
  1236. X+         /* [5] */
  1237. X+         "Paste", noIcon, "V", noMark, plain,
  1238. X+         /* [6] */
  1239. X+         "Clear", noIcon, noKey, noMark, plain
  1240. X+     }
  1241. X+ };
  1242. X+ 
  1243. X+ resource 'MENU' (104, "Inventory") {
  1244. X+     104,
  1245. X+     textMenuProc,
  1246. X+     allEnabled,
  1247. X+     enabled,
  1248. X+     "Inventory",
  1249. X+     { /* array: 8 elements */
  1250. X+         /* [1] */
  1251. X+         "Do inventory", noIcon, noKey, noMark, plain,
  1252. X+         /* [2] */
  1253. X+         "Pay bill", noIcon, noKey, noMark, plain,
  1254. X+         /* [3] */
  1255. X+         "Drop object", noIcon, noKey, noMark, plain,
  1256. X+         /* [4] */
  1257. X+         "Drop several objects", noIcon, noKey, noMark, plain,
  1258. X+         /* [5] */
  1259. X+         "Pick up object", noIcon, noKey, noMark, plain,
  1260. X+         /* [6] */
  1261. X+         "Toggle pickup", noIcon, noKey, noMark, plain,
  1262. X+         /* [7] */
  1263. X+         "Identify object", noIcon, noKey, noMark, plain,
  1264. X+         /* [8] */
  1265. X+         "Name monster", noIcon, noKey, noMark, plain
  1266. X+     }
  1267. X+ };
  1268. X+ 
  1269. X+ resource 'MENU' (105, "Actions") {
  1270. X+     105,
  1271. X+     textMenuProc,
  1272. X+     allEnabled,
  1273. X+     enabled,
  1274. X+     "Action",
  1275. X+     { /* array: 7 elements */
  1276. X+         /* [1] */
  1277. X+         "Apply/use object", noIcon, noKey, noMark, plain,
  1278. X+         /* [2] */
  1279. X+         "Eat object", noIcon, noKey, noMark, plain,
  1280. X+         /* [3] */
  1281. X+         "Quaff potion", noIcon, noKey, noMark, plain,
  1282. X+         /* [4] */
  1283. X+         "Read scroll/book", noIcon, noKey, noMark, plain,
  1284. X+         /* [5] */
  1285. X+         "Throw/shoot weapon", noIcon, noKey, noMark, plain,
  1286. X+         /* [6] */
  1287. X+         "Zap wand", noIcon, noKey, noMark, plain,
  1288. X+         /* [7] */
  1289. X+         "Cast spell", noIcon, noKey, noMark, plain
  1290. X+     }
  1291. X+ };
  1292. X+ 
  1293. X+ resource 'MENU' (106, "Preparations") {
  1294. X+     106,
  1295. X+     textMenuProc,
  1296. X+     allEnabled,
  1297. X+     enabled,
  1298. X+     "Prep",
  1299. X+     { /* array: 10 elements */
  1300. X+         /* [1] */
  1301. X+         "Wield weapon", noIcon, noKey, noMark, plain,
  1302. X+         /* [2] */
  1303. X+         "Put on ring", noIcon, noKey, noMark, plain,
  1304. X+         /* [3] */
  1305. X+         "Remove ring", noIcon, noKey, noMark, plain,
  1306. X+         /* [4] */
  1307. X+         "Remove armor", noIcon, noKey, noMark, plain,
  1308. X+         /* [5] */
  1309. X+         "Wear armor", noIcon, noKey, noMark, plain,
  1310. X+         /* [6] */
  1311. X+         "Current weapon", noIcon, noKey, noMark, plain,
  1312. X+         /* [7] */
  1313. X+         "Current armor", noIcon, noKey, noMark, plain,
  1314. X+         /* [8] */
  1315. X+         "Current rings", noIcon, noKey, noMark, plain,
  1316. X+         /* [9] */
  1317. X+         "Current amulet", noIcon, noKey, noMark, plain,
  1318. X+         /* [10] */
  1319. X+         "Current tools", noIcon, noKey, noMark, plain
  1320. X+     }
  1321. X+ };
  1322. X+ 
  1323. X+ resource 'MENU' (107, "Move") {
  1324. X+     107,
  1325. X+     textMenuProc,
  1326. X+     allEnabled,
  1327. X+     enabled,
  1328. X+     "Move",
  1329. X+     { /* array: 9 elements */
  1330. X+         /* [1] */
  1331. X+         "Open door", noIcon, noKey, noMark, plain,
  1332. X+         /* [2] */
  1333. X+         "Close door", noIcon, noKey, noMark, plain,
  1334. X+         /* [3] */
  1335. X+         "Kick door", noIcon, noKey, noMark, plain,
  1336. X+         /* [4] */
  1337. X+         "Search", noIcon, noKey, noMark, plain,
  1338. X+         /* [5] */
  1339. X+         "Go up stairs", noIcon, noKey, noMark, plain,
  1340. X+         /* [6] */
  1341. X+         "Go down stairs", noIcon, noKey, noMark, plain,
  1342. X+         /* [7] */
  1343. X+         "Teleport", noIcon, noKey, noMark, plain,
  1344. X+         /* [8] */
  1345. X+         "Wait", noIcon, noKey, noMark, plain,
  1346. X+         /* [9] */
  1347. X+         "Engrave message", noIcon, noKey, noMark, plain
  1348. X+     }
  1349. X+ };
  1350. X+ 
  1351. X+ resource 'MENU' (108, "Extended Commands") {
  1352. X+     108,
  1353. X+     textMenuProc,
  1354. X+     allEnabled,
  1355. X+     enabled,
  1356. X+     "Extended",
  1357. X+     { /* array: 14 elements */
  1358. X+         /* [1] */
  1359. X+         "Chat", noIcon, noKey, noMark, plain,
  1360. X+         /* [2] */
  1361. X+         "Dip object", noIcon, noKey, noMark, plain,
  1362. X+         /* [3] */
  1363. X+         "Force chest lock", noIcon, noKey, noMark, plain,
  1364. X+         /* [4] */
  1365. X+         "Jump", noIcon, noKey, noMark, plain,
  1366. X+         /* [5] */
  1367. X+         "Loot box", noIcon, noKey, noMark, plain,
  1368. X+         /* [6] */
  1369. X+         "Use monster ability", noIcon, noKey, noMark, plain,
  1370. X+         /* [7] */
  1371. X+         "Name object", noIcon, noKey, noMark, plain,
  1372. X+         /* [8] */
  1373. X+         "Offer sacrifice", noIcon, noKey, noMark, plain,
  1374. X+         /* [9] */
  1375. X+         "Pray", noIcon, noKey, noMark, plain,
  1376. X+         /* [10] */
  1377. X+         "Rub lamp", noIcon, noKey, noMark, plain,
  1378. X+         /* [11] */
  1379. X+         "Sit down", noIcon, noKey, noMark, plain,
  1380. X+         /* [12] */
  1381. X+         "Turn undead", noIcon, noKey, noMark, plain,
  1382. X+         /* [13] */
  1383. X+         "Untrap object", noIcon, noKey, noMark, plain,
  1384. X+         /* [14] */
  1385. X+         "Wipe face", noIcon, noKey, noMark, plain
  1386. X+     }
  1387. X+ };
  1388. X+ 
  1389. X+ resource 'FOND' (151, "HackFont", preload) {
  1390. X+     proportionalFont,
  1391. X+     dontUseFractWidthTable,
  1392. X+     useIntegerExtra,
  1393. X+     useFractEnable,
  1394. X+     canAdjustCharSpacing,
  1395. X+     noCharWidthTable,
  1396. X+     noImageHeightTable,
  1397. X+     151,
  1398. X+     0,
  1399. X+     0,
  1400. X+     0,
  1401. X+     0,
  1402. X+     0,
  1403. X+     0,
  1404. X+     0,
  1405. X+     0,
  1406. X+     0,
  1407. X+     0,
  1408. X+     0,
  1409. X+     0,
  1410. X+     0,
  1411. X+     0,
  1412. X+     0,
  1413. X+     0,
  1414. X+     1,
  1415. X+     { /* array FontEntries: 1 elements */
  1416. X+         /* [1] */
  1417. X+         9, 0, 19337
  1418. X+     },
  1419. X+     { /* array: 0 elements */
  1420. X+     },
  1421. X+     { /* array: 0 elements */
  1422. X+     },
  1423. X+     { /* array: 0 elements */
  1424. X+     },
  1425. X+     { /* array: 0 elements */
  1426. X+     }
  1427. X+ };
  1428. X+ 
  1429. X+ resource 'FONT' (19337, purgeable) {
  1430. X+     doExpandFont,
  1431. X+     proportionalFont,
  1432. X+     blackFont,
  1433. X+     notSynthetic,
  1434. X+     nofctbRsrc,
  1435. X+     oneBit,
  1436. X+     noCharWidthTable,
  1437. X+     noImageHeightTable,
  1438. X+     0,
  1439. X+     254,
  1440. X+     6,
  1441. X+     0,
  1442. X+     -9,
  1443. X+     6,
  1444. X+     11,
  1445. X+     9,
  1446. X+     2,
  1447. X+     0,
  1448. X+     63,
  1449. X+     $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
  1450. X+     $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
  1451. X+     $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
  1452. X+     $"00 00 01 B0 00 00 00 00 00 00 28 82 00 00 00 00"
  1453. X+     $"00 52 80 00 00 60 00 00 34 00 00 04 30 80 0A D6"
  1454. X+     $"B1 12 80 0B 40 52 88 41 00 80 09 2A 80 A0 28 02"
  1455. X+     $"84 28 00 2A 00 28 41 1F 81 FF E0 03 F0 00 00 00"
  1456. X+     $"E7 00 40 00 F0 00 00 00 40 00 00 1C C0 00 00 10"
  1457. X+     $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
  1458. X+     $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
  1459. X+     $"00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 E0"
  1460. X+     $"00 A1 10 04 30 08 02 05 01 44 00 08 04 11 00 00"
  1461. X+     $"00 C0 00 82 44 26 D8 00 00 04 51 00 00 2B F1 12"
  1462. X+     $"80 0B 40 52 88 41 00 80 09 2A 80 A0 28 02 84 28"
  1463. X+     $"00 2A 00 28 41 1F 81 FF E0 1A 10 00 00 00 48 80"
  1464. X+     $"A0 05 07 80 00 08 40 06 00 13 20 00 D5 39 EC 4C"
  1465. X+     $"20 00 05 CB 9C 2F BB EE 70 00 0E 73 BC EF 7F EE"
  1466. X+     $"8F 0C 61 18 BB CE F3 BF 18 C6 31 FF 1A 02 04 00"
  1467. X+     $"10 18 21 30 80 00 00 00 04 00 00 00 01 53 5D F2"
  1468. X+     $"29 42 48 14 A1 5A B9 DF 03 D4 A2 28 8A 74 41 28"
  1469. X+     $"F8 84 88 4B 45 D8 80 04 92 40 0A D6 B1 12 80 0B"
  1470. X+     $"40 52 88 41 00 80 09 2A 80 A0 28 02 84 28 00 2A"
  1471. X+     $"00 28 41 1F 81 FF E0 26 00 7C 00 6C E8 B8 80 0A"
  1472. X+     $"08 40 24 34 40 09 00 12 41 ED DF D6 B2 92 A9 00"
  1473. X+     $"06 3C 62 68 40 31 88 20 91 8C 63 18 C2 11 8A 0C"
  1474. X+     $"A1 BC C6 31 8C 49 18 C5 51 0D 0D 01 04 00 10 20"
  1475. X+     $"20 10 80 00 00 00 04 00 00 00 01 55 A3 F0 00 00"
  1476. X+     $"30 00 00 00 46 30 05 00 00 00 00 8C 49 05 44 80"
  1477. X+     $"00 00 66 64 00 05 54 00 00 2B F1 12 80 0B 40 52"
  1478. X+     $"88 41 00 80 09 2A 80 A0 28 02 84 28 00 2A 00 28"
  1479. X+     $"41 1F 81 FF E0 46 00 24 00 13 58 C4 40 7A 08 7F"
  1480. X+     $"22 54 48 19 70 72 81 25 85 52 D4 21 71 00 0A 68"
  1481. X+     $"42 AF 78 31 8D 5F 41 EC 63 08 C2 10 8A 0D 21 5A"
  1482. X+     $"C6 31 8C 09 18 C4 91 14 88 00 7F 9C F7 73 FD 32"
  1483. X+     $"FA CE F3 EC FF 8C 6B 18 FD 50 20 A7 3D EF 7B 9C"
  1484. X+     $"E7 24 C6 30 75 1C E7 46 31 8C 5D CF C5 CF 9D 1B"
  1485. X+     $"56 64 80 02 AA C0 0A D6 B1 F2 83 FB 7F D2 F8 41"
  1486. X+     $"00 80 09 EA FF BF EF FE FF 2B F0 2B F0 2B F1 1F"
  1487. X+     $"81 FF EE CA 0F 91 F9 11 5F C5 DB 97 F8 40 F9 90"
  1488. X+     $"40 E6 F8 53 FD 25 8F B9 48 21 AF CF 8A A8 8D 20"
  1489. X+     $"C4 4E 88 80 22 AF FD 08 FB D3 FA 0E 21 19 C7 D1"
  1490. X+     $"F3 89 18 C4 8A 24 88 00 8C 63 18 A4 63 34 D7 31"
  1491. X+     $"8C 73 04 8C 6A A8 8A 08 20 A8 C6 31 8C 63 18 A4"
  1492. X+     $"FF FE AF A3 18 C6 31 8C 6B 02 78 91 A3 1C CD D9"
  1493. X+     $"1F FC 32 D3 20 2B FF 1E FC 43 42 1F 8F FF FF FF"
  1494. X+     $"FF 2E 20 00 20 00 00 FC 0F FE 4F FC 4F FF FF FF"
  1495. X+     $"F1 4A 05 0A 29 11 58 C6 35 96 09 7F 22 50 7F 10"
  1496. X+     $"F8 80 1D 25 85 15 B5 21 21 00 13 29 03 F0 C4 91"
  1497. X+     $"78 5F 44 F4 63 08 C2 11 8A 8D 21 18 C6 11 88 49"
  1498. X+     $"18 D4 84 44 48 00 8C 61 1F A4 63 3C D6 31 8C 60"
  1499. X+     $"E4 8C 6A 48 91 50 20 EF C6 31 8C 3F FF A4 C6 30"
  1500. X+     $"FD 23 18 C6 31 8C 69 0F C8 91 A3 18 C4 02 10 08"
  1501. X+     $"43 E4 9A D6 B1 F2 97 FB 7B F0 78 80 04 80 09 EB"
  1502. X+     $"EF FE EF FE FF 03 F2 83 FA 2B F0 9F FF F8 11 46"
  1503. X+     $"05 12 29 10 E8 C6 3B A6 08 40 24 30 40 E0 FE 80"
  1504. X+     $"1D 25 00 56 B2 12 01 00 12 2A 22 28 C4 91 08 20"
  1505. X+     $"80 84 63 18 C2 11 8A 8C A1 18 C6 11 8C 49 15 6D"
  1506. X+     $"44 84 48 00 9C 61 18 24 63 32 D6 31 8C 60 14 9A"
  1507. X+     $"AA A8 A1 50 22 48 4E 73 9C 21 08 24 C6 30 A5 23"
  1508. X+     $"18 CE 71 8C 6B 12 5C 93 A3 38 C7 FE 30 08 80 E4"
  1509. X+     $"90 2B F1 12 94 4B 4A 00 00 80 04 80 09 28 28 02"
  1510. X+     $"A8 02 80 00 42 80 4A 28 40 9F FF F8 11 46 05 26"
  1511. X+     $"29 10 48 AA 20 A5 08 7F 00 10 49 00 71 00 01 25"
  1512. X+     $"80 3A 4D 0C 00 10 61 CF DC 27 38 8E 75 00 04 74"
  1513. X+     $"7C EF 7E 0E 8F 74 7F 18 BA 0E 8B 88 E2 46 24 FE"
  1514. X+     $"38 FC 6F 9E F7 A3 E3 31 D6 2E F3 E1 E3 69 15 17"
  1515. X+     $"FD 50 1C 47 B5 AD 6B DE F7 A4 C6 3F BD DC E7 35"
  1516. X+     $"AF 73 9D E2 48 8D 9C D8 C4 01 C0 00 E0 D3 2A D6"
  1517. X+     $"B1 12 94 4B 4A 00 00 80 04 80 09 28 28 02 A8 02"
  1518. X+     $"80 00 42 80 4A 28 40 9F FF F8 0E DA 05 7D CE 90"
  1519. X+     $"E7 6D C0 78 F8 40 FF F2 40 00 01 00 01 ED 00 10"
  1520. X+     $"00 00 00 10 20 00 00 00 00 00 01 00 00 00 00 00"
  1521. X+     $"00 00 00 00 00 00 00 01 00 00 00 00 00 00 20 00"
  1522. X+     $"00 00 00 00 40 20 00 00 80 40 00 00 00 00 80 E0"
  1523. X+     $"04 E0 00 00 01 00 00 00 00 00 00 00 00 00 01 00"
  1524. X+     $"08 00 0C 80 00 00 00 00 00 00 00 00 00 2B F1 12"
  1525. X+     $"94 4B 4A 00 00 80 04 80 09 28 28 02 A8 02 80 00"
  1526. X+     $"42 80 4A 28 40 9F FF F8 00 40 00 00 08 00 00 00"
  1527. X+     $"00 40 0F C0 00 12 40 00 00 00 00 00 00 00 00 00"
  1528. X+     $"00 20 00 00 00 00 00 00 02 00 00 00 00 00 00 00"
  1529. X+     $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
  1530. X+     $"00 03 80 C0 00 00 80 40 00 00 00 07 00 00 08 00"
  1531. X+     $"00 00 02 00 00 00 00 00 00 00 00 00 0E 00 00 00"
  1532. X+     $"03 00 00 00 00 00 00 00 00 00 0A D6 B1 12 94 4B"
  1533. X+     $"4A 00 00 80 04 80 09 28 28 02 A8 02 80 00 42 80"
  1534. X+     $"4A 28 40 9F FF F8 00 00 00 00 08 00 00 00 00 80"
  1535. X+     $"00 00 00 11 80 00 00 00 00 00",
  1536. X+     { /* array: 257 elements */
  1537. X+         /* [1] */
  1538. X+         0,
  1539. X+         /* [2] */
  1540. X+         0,
  1541. X+         /* [3] */
  1542. X+         0,
  1543. X+         /* [4] */
  1544. X+         0,
  1545. X+         /* [5] */
  1546. X+         0,
  1547. X+         /* [6] */
  1548. X+         0,
  1549. X+         /* [7] */
  1550. X+         0,
  1551. X+         /* [8] */
  1552. X+         0,
  1553. X+         /* [9] */
  1554. X+         0,
  1555. X+         /* [10] */
  1556. X+         0,
  1557. X+         /* [11] */
  1558. X+         0,
  1559. X+         /* [12] */
  1560. X+         0,
  1561. X+         /* [13] */
  1562. X+         0,
  1563. X+         /* [14] */
  1564. X+         0,
  1565. X+         /* [15] */
  1566. X+         0,
  1567. X+         /* [16] */
  1568. X+         0,
  1569. X+         /* [17] */
  1570. X+         0,
  1571. X+         /* [18] */
  1572. X+         0,
  1573. X+         /* [19] */
  1574. X+         0,
  1575. X+         /* [20] */
  1576. X+         0,
  1577. X+         /* [21] */
  1578. X+         0,
  1579. X+         /* [22] */
  1580. X+         0,
  1581. X+         /* [23] */
  1582. X+         0,
  1583. X+         /* [24] */
  1584. X+         0,
  1585. X+         /* [25] */
  1586. X+         0,
  1587. X+         /* [26] */
  1588. X+         0,
  1589. X+         /* [27] */
  1590. X+         0,
  1591. X+         /* [28] */
  1592. X+         0,
  1593. X+         /* [29] */
  1594. X+         0,
  1595. X+         /* [30] */
  1596. X+         0,
  1597. X+         /* [31] */
  1598. X+         0,
  1599. X+         /* [32] */
  1600. X+         0,
  1601. X+         /* [33] */
  1602. X+         0,
  1603. X+         /* [34] */
  1604. X+         0,
  1605. X+         /* [35] */
  1606. X+         1,
  1607. X+         /* [36] */
  1608. X+         4,
  1609. X+         /* [37] */
  1610. X+         9,
  1611. X+         /* [38] */
  1612. X+         14,
  1613. X+         /* [39] */
  1614. X+         19,
  1615. X+         /* [40] */
  1616. X+         24,
  1617. X+         /* [41] */
  1618. X+         26,
  1619. X+         /* [42] */
  1620. X+         29,
  1621. X+         /* [43] */
  1622. X+         32,
  1623. X+         /* [44] */
  1624. X+         37,
  1625. X+         /* [45] */
  1626. X+         42,
  1627. X+         /* [46] */
  1628. X+         44,
  1629. X+         /* [47] */
  1630. X+         49,
  1631. X+         /* [48] */
  1632. X+         50,
  1633. X+         /* [49] */
  1634. X+         54,
  1635. X+         /* [50] */
  1636. X+         59,
  1637. X+         /* [51] */
  1638. X+         61,
  1639. X+         /* [52] */
  1640. X+         66,
  1641. X+         /* [53] */
  1642. X+         71,
  1643. X+         /* [54] */
  1644. X+         76,
  1645. X+         /* [55] */
  1646. X+         81,
  1647. X+         /* [56] */
  1648. X+         86,
  1649. X+         /* [57] */
  1650. X+         91,
  1651. X+         /* [58] */
  1652. X+         96,
  1653. X+         /* [59] */
  1654. X+         101,
  1655. X+         /* [60] */
  1656. X+         102,
  1657. X+         /* [61] */
  1658. X+         104,
  1659. X+         /* [62] */
  1660. X+         107,
  1661. X+         /* [63] */
  1662. X+         112,
  1663. X+         /* [64] */
  1664. X+         115,
  1665. X+         /* [65] */
  1666. X+         120,
  1667. X+         /* [66] */
  1668. X+         125,
  1669. X+         /* [67] */
  1670. X+         130,
  1671. X+         /* [68] */
  1672. X+         135,
  1673. X+         /* [69] */
  1674. X+         140,
  1675. X+         /* [70] */
  1676. X+         145,
  1677. X+         /* [71] */
  1678. X+         150,
  1679. X+         /* [72] */
  1680. X+         155,
  1681. X+         /* [73] */
  1682. X+         160,
  1683. X+         /* [74] */
  1684. X+         165,
  1685. X+         /* [75] */
  1686. X+         168,
  1687. X+         /* [76] */
  1688. X+         173,
  1689. X+         /* [77] */
  1690. X+         178,
  1691. X+         /* [78] */
  1692. X+         183,
  1693. X+         /* [79] */
  1694. X+         188,
  1695. X+         /* [80] */
  1696. X+         193,
  1697. X+         /* [81] */
  1698. X+         198,
  1699. X+         /* [82] */
  1700. X+         203,
  1701. X+         /* [83] */
  1702. X+         208,
  1703. X+         /* [84] */
  1704. X+         213,
  1705. X+         /* [85] */
  1706. X+         218,
  1707. X+         /* [86] */
  1708. X+         223,
  1709. X+         /* [87] */
  1710. X+         228,
  1711. X+         /* [88] */
  1712. X+         233,
  1713. X+         /* [89] */
  1714. X+         238,
  1715. X+         /* [90] */
  1716. X+         243,
  1717. X+         /* [91] */
  1718. X+         248,
  1719. X+         /* [92] */
  1720. X+         253,
  1721. X+         /* [93] */
  1722. X+         255,
  1723. X+         /* [94] */
  1724. X+         259,
  1725. X+         /* [95] */
  1726. X+         261,
  1727. X+         /* [96] */
  1728. X+         264,
  1729. X+         /* [97] */
  1730. X+         270,
  1731. X+         /* [98] */
  1732. X+         272,
  1733. X+         /* [99] */
  1734. X+         277,
  1735. X+         /* [100] */
  1736. X+         282,
  1737. X+         /* [101] */
  1738. X+         287,
  1739. X+         /* [102] */
  1740. X+         292,
  1741. X+         /* [103] */
  1742. X+         297,
  1743. X+         /* [104] */
  1744. X+         301,
  1745. X+         /* [105] */
  1746. X+         306,
  1747. X+         /* [106] */
  1748. X+         311,
  1749. X+         /* [107] */
  1750. X+         312,
  1751. X+         /* [108] */
  1752. X+         315,
  1753. X+         /* [109] */
  1754. X+         320,
  1755. X+         /* [110] */
  1756. X+         321,
  1757. X+         /* [111] */
  1758. X+         326,
  1759. X+         /* [112] */
  1760. X+         331,
  1761. X+         /* [113] */
  1762. X+         336,
  1763. X+         /* [114] */
  1764. X+         341,
  1765. X+         /* [115] */
  1766. X+         346,
  1767. X+         /* [116] */
  1768. X+         351,
  1769. X+         /* [117] */
  1770. X+         356,
  1771. X+         /* [118] */
  1772. X+         360,
  1773. X+         /* [119] */
  1774. X+         365,
  1775. X+         /* [120] */
  1776. X+         370,
  1777. X+         /* [121] */
  1778. X+         375,
  1779. X+         /* [122] */
  1780. X+         380,
  1781. X+         /* [123] */
  1782. X+         385,
  1783. X+         /* [124] */
  1784. X+         390,
  1785. X+         /* [125] */
  1786. X+         393,
  1787. X+         /* [126] */
  1788. X+         394,
  1789. X+         /* [127] */
  1790. X+         397,
  1791. X+         /* [128] */
  1792. X+         402,
  1793. X+         /* [129] */
  1794. X+         402,
  1795. X+         /* [130] */
  1796. X+         407,
  1797. X+         /* [131] */
  1798. X+         412,
  1799. X+         /* [132] */
  1800. X+         417,
  1801. X+         /* [133] */
  1802. X+         422,
  1803. X+         /* [134] */
  1804. X+         427,
  1805. X+         /* [135] */
  1806. X+         432,
  1807. X+         /* [136] */
  1808. X+         437,
  1809. X+         /* [137] */
  1810. X+         442,
  1811. X+         /* [138] */
  1812. X+         447,
  1813. X+         /* [139] */
  1814. X+         452,
  1815. X+         /* [140] */
  1816. X+         457,
  1817. X+         /* [141] */
  1818. X+         460,
  1819. X+         /* [142] */
  1820. X+         463,
  1821. X+         /* [143] */
  1822. X+         465,
  1823. X+         /* [144] */
  1824. X+         470,
  1825. X+         /* [145] */
  1826. X+         475,
  1827. X+         /* [146] */
  1828. X+         480,
  1829. X+         /* [147] */
  1830. X+         485,
  1831. X+         /* [148] */
  1832. X+         490,
  1833. X+         /* [149] */
  1834. X+         495,
  1835. X+         /* [150] */
  1836. X+         500,
  1837. X+         /* [151] */
  1838. X+         505,
  1839. X+         /* [152] */
  1840. X+         510,
  1841. X+         /* [153] */
  1842. X+         515,
  1843. X+         /* [154] */
  1844. X+         520,
  1845. X+         /* [155] */
  1846. X+         525,
  1847. X+         /* [156] */
  1848. X+         530,
  1849. X+         /* [157] */
  1850. X+         535,
  1851. X+         /* [158] */
  1852. X+         540,
  1853. X+         /* [159] */
  1854. X+         545,
  1855. X+         /* [160] */
  1856. X+         550,
  1857. X+         /* [161] */
  1858. X+         555,
  1859. X+         /* [162] */
  1860. X+         560,
  1861. X+         /* [163] */
  1862. X+         562,
  1863. X+         /* [164] */
  1864. X+         567,
  1865. X+         /* [165] */
  1866. X+         572,
  1867. X+         /* [166] */
  1868. X+         577,
  1869. X+         /* [167] */
  1870. X+         582,
  1871. X+         /* [168] */
  1872. X+         586,
  1873. X+         /* [169] */
  1874. X+         590,
  1875. X+         /* [170] */
  1876. X+         595,
  1877. X+         /* [171] */
  1878. X+         600,
  1879. X+         /* [172] */
  1880. X+         605,
  1881. X+         /* [173] */
  1882. X+         611,
  1883. X+         /* [174] */
  1884. X+         617,
  1885. X+         /* [175] */
  1886. X+         618,
  1887. X+         /* [176] */
  1888. X+         623,
  1889. X+         /* [177] */
  1890. X+         628,
  1891. X+         /* [178] */
  1892. X+         633,
  1893. X+         /* [179] */
  1894. X+         638,
  1895. X+         /* [180] */
  1896. X+         643,
  1897. X+         /* [181] */
  1898. X+         644,
  1899. X+         /* [182] */
  1900. X+         648,
  1901. X+         /* [183] */
  1902. X+         652,
  1903. X+         /* [184] */
  1904. X+         657,
  1905. X+         /* [185] */
  1906. X+         662,
  1907. X+         /* [186] */
  1908. X+         666,
  1909. X+         /* [187] */
  1910. X+         671,
  1911. X+         /* [188] */
  1912. X+         674,
  1913. X+         /* [189] */
  1914. X+         679,
  1915. X+         /* [190] */
  1916. X+         684,
  1917. X+         /* [191] */
  1918. X+         689,
  1919. X+         /* [192] */
  1920. X+         693,
  1921. X+         /* [193] */
  1922. X+         697,
  1923. X+         /* [194] */
  1924. X+         700,
  1925. X+         /* [195] */
  1926. X+         706,
  1927. X+         /* [196] */
  1928. X+         712,
  1929. X+         /* [197] */
  1930. X+         715,
  1931. X+         /* [198] */
  1932. X+         721,
  1933. X+         /* [199] */
  1934. X+         727,
  1935. X+         /* [200] */
  1936. X+         730,
  1937. X+         /* [201] */
  1938. X+         734,
  1939. X+         /* [202] */
  1940. X+         738,
  1941. X+         /* [203] */
  1942. X+         742,
  1943. X+         /* [204] */
  1944. X+         748,
  1945. X+         /* [205] */
  1946. X+         754,
  1947. X+         /* [206] */
  1948. X+         758,
  1949. X+         /* [207] */
  1950. X+         764,
  1951. X+         /* [208] */
  1952. X+         770,
  1953. X+         /* [209] */
  1954. X+         776,
  1955. X+         /* [210] */
  1956. X+         782,
  1957. X+         /* [211] */
  1958. X+         788,
  1959. X+         /* [212] */
  1960. X+         794,
  1961. X+         /* [213] */
  1962. X+         798,
  1963. X+         /* [214] */
  1964. X+         801,
  1965. X+         /* [215] */
  1966. X+         804,
  1967. X+         /* [216] */
  1968. X+         808,
  1969. X+         /* [217] */
  1970. X+         814,
  1971. X+         /* [218] */
  1972. X+         820,
  1973. X+         /* [219] */
  1974. X+         824,
  1975. X+         /* [220] */
  1976. X+         827,
  1977. X+         /* [221] */
  1978. X+         833,
  1979. X+         /* [222] */
  1980. X+         839,
  1981. X+         /* [223] */
  1982. X+         842,
  1983. X+         /* [224] */
  1984. X+         845,
  1985. X+         /* [225] */
  1986. X+         851,
  1987. X+         /* [226] */
  1988. X+         857,
  1989. X+         /* [227] */
  1990. X+         862,
  1991. X+         /* [228] */
  1992. X+         868,
  1993. X+         /* [229] */
  1994. X+         873,
  1995. X+         /* [230] */
  1996. X+         878,
  1997. X+         /* [231] */
  1998. X+         884,
  1999. X+         /* [232] */
  2000. X+         889,
  2001. X+         /* [233] */
  2002. X+         895,
  2003. X+         /* [234] */
  2004. X+         900,
  2005. X+         /* [235] */
  2006. X+         905,
  2007. X+         /* [236] */
  2008. X+         910,
  2009. X+         /* [237] */
  2010. X+         915,
  2011. X+         /* [238] */
  2012. X+         920,
  2013. X+         /* [239] */
  2014. X+         926,
  2015. X+         /* [240] */
  2016. X+         932,
  2017. X+         /* [241] */
  2018. X+         938,
  2019. X+         /* [242] */
  2020. X+         944,
  2021. X+         /* [243] */
  2022. X+         949,
  2023. X+         /* [244] */
  2024. X+         952,
  2025. X+         /* [245] */
  2026. X+         955,
  2027. X+         /* [246] */
  2028. X+         958,
  2029. X+         /* [247] */
  2030. X+         962,
  2031. X+         /* [248] */
  2032. X+         967,
  2033. X+         /* [249] */
  2034. X+         972,
  2035. X+         /* [250] */
  2036. X+         976,
  2037. X+         /* [251] */
  2038. X+         981,
  2039. X+         /* [252] */
  2040. X+         982,
  2041. X+         /* [253] */
  2042. X+         987,
  2043. X+         /* [254] */
  2044. X+         991,
  2045. X+         /* [255] */
  2046. X+         995,
  2047. X+         /* [256] */
  2048. X+         998,
  2049. X+         /* [257] */
  2050. X+         1004
  2051. X+     },
  2052. X+     { /* array: 257 elements */
  2053. X+         /* [1] */
  2054. X+         6,
  2055. X+         /* [2] */
  2056. X+         6,
  2057. X+         /* [3] */
  2058. X+         6,
  2059. X+         /* [4] */
  2060. X+         6,
  2061. X+         /* [5] */
  2062. X+         6,
  2063. X+         /* [6] */
  2064. X+         6,
  2065. X+         /* [7] */
  2066. X+         6,
  2067. X+         /* [8] */
  2068. X+         6,
  2069. X+         /* [9] */
  2070. X+         6,
  2071. X+         /* [10] */
  2072. X+         6,
  2073. X+         /* [11] */
  2074. X+         6,
  2075. X+         /* [12] */
  2076. X+         6,
  2077. X+         /* [13] */
  2078. X+         6,
  2079. X+         /* [14] */
  2080. X+         6,
  2081. X+         /* [15] */
  2082. X+         6,
  2083. X+         /* [16] */
  2084. X+         6,
  2085. X+         /* [17] */
  2086. X+         6,
  2087. X+         /* [18] */
  2088. X+         6,
  2089. X+         /* [19] */
  2090. X+         6,
  2091. X+         /* [20] */
  2092. X+         6,
  2093. X+         /* [21] */
  2094. X+         6,
  2095. X+         /* [22] */
  2096. X+         6,
  2097. X+         /* [23] */
  2098. X+         6,
  2099. X+         /* [24] */
  2100. X+         6,
  2101. X+         /* [25] */
  2102. X+         6,
  2103. X+         /* [26] */
  2104. X+         6,
  2105. X+         /* [27] */
  2106. X+         6,
  2107. X+         /* [28] */
  2108. X+         6,
  2109. X+         /* [29] */
  2110. X+         6,
  2111. X+         /* [30] */
  2112. X+         6,
  2113. X+         /* [31] */
  2114. X+         6,
  2115. X+         /* [32] */
  2116. X+         6,
  2117. X+         /* [33] */
  2118. X+         1542,
  2119. X+         /* [34] */
  2120. X+         518,
  2121. X+         /* [35] */
  2122. X+         262,
  2123. X+         /* [36] */
  2124. X+         6,
  2125. X+         /* [37] */
  2126. X+         6,
  2127. X+         /* [38] */
  2128. X+         6,
  2129. X+         /* [39] */
  2130. X+         6,
  2131. X+         /* [40] */
  2132. X+         518,
  2133. X+         /* [41] */
  2134. X+         262,
  2135. X+         /* [42] */
  2136. X+         518,
  2137. X+         /* [43] */
  2138. X+         6,
  2139. X+         /* [44] */
  2140. X+         6,
  2141. X+         /* [45] */
  2142. X+         262,
  2143. X+         /* [46] */
  2144. X+         6,
  2145. X+         /* [47] */
  2146. X+         518,
  2147. X+         /* [48] */
  2148. X+         262,
  2149. X+         /* [49] */
  2150. X+         6,
  2151. X+         /* [50] */
  2152. X+         518,
  2153. X+         /* [51] */
  2154. X+         6,
  2155. X+         /* [52] */
  2156. X+         6,
  2157. X+         /* [53] */
  2158. X+         6,
  2159. X+         /* [54] */
  2160. X+         6,
  2161. X+         /* [55] */
  2162. X+         6,
  2163. X+         /* [56] */
  2164. X+         6,
  2165. X+         /* [57] */
  2166. X+         6,
  2167. X+         /* [58] */
  2168. X+         6,
  2169. X+         /* [59] */
  2170. X+         518,
  2171. X+         /* [60] */
  2172. X+         262,
  2173. X+         /* [61] */
  2174. X+         262,
  2175. X+         /* [62] */
  2176. X+         6,
  2177. X+         /* [63] */
  2178. X+         262,
  2179. X+         /* [64] */
  2180. X+         6,
  2181. X+         /* [65] */
  2182. X+         6,
  2183. X+         /* [66] */
  2184. X+         6,
  2185. X+         /* [67] */
  2186. X+         6,
  2187. X+         /* [68] */
  2188. X+         6,
  2189. X+         /* [69] */
  2190. X+         6,
  2191. X+         /* [70] */
  2192. X+         6,
  2193. X+         /* [71] */
  2194. X+         6,
  2195. X+         /* [72] */
  2196. X+         6,
  2197. X+         /* [73] */
  2198. X+         6,
  2199. X+         /* [74] */
  2200. X+         262,
  2201. X+         /* [75] */
  2202. X+         6,
  2203. X+         /* [76] */
  2204. X+         6,
  2205. X+         /* [77] */
  2206. X+         6,
  2207. X+         /* [78] */
  2208. X+         6,
  2209. X+         /* [79] */
  2210. X+         6,
  2211. X+         /* [80] */
  2212. X+         6,
  2213. X+         /* [81] */
  2214. X+         6,
  2215. X+         /* [82] */
  2216. X+         6,
  2217. X+         /* [83] */
  2218. X+         6,
  2219. X+         /* [84] */
  2220. X+         6,
  2221. X+         /* [85] */
  2222. X+         6,
  2223. X+         /* [86] */
  2224. X+         6,
  2225. X+         /* [87] */
  2226. X+         6,
  2227. X+         /* [88] */
  2228. X+         6,
  2229. X+         /* [89] */
  2230. X+         6,
  2231. X+         /* [90] */
  2232. X+         6,
  2233. X+         /* [91] */
  2234. X+         6,
  2235. X+         /* [92] */
  2236. X+         518,
  2237. X+         /* [93] */
  2238. X+         262,
  2239. X+         /* [94] */
  2240. X+         518,
  2241. X+         /* [95] */
  2242. X+         262,
  2243. X+         /* [96] */
  2244. X+         6,
  2245. X+         /* [97] */
  2246. X+         262,
  2247. X+         /* [98] */
  2248. X+         6,
  2249. X+         /* [99] */
  2250. X+         6,
  2251. X+         /* [100] */
  2252. X+         6,
  2253. X+         /* [101] */
  2254. X+         6,
  2255. X+         /* [102] */
  2256. X+         6,
  2257. X+         /* [103] */
  2258. X+         262,
  2259. X+         /* [104] */
  2260. X+         6,
  2261. X+         /* [105] */
  2262. X+         6,
  2263. X+         /* [106] */
  2264. X+         518,
  2265. X+         /* [107] */
  2266. X+         6,
  2267. X+         /* [108] */
  2268. X+         6,
  2269. X+         /* [109] */
  2270. X+         518,
  2271. X+         /* [110] */
  2272. X+         6,
  2273. X+         /* [111] */
  2274. X+         6,
  2275. X+         /* [112] */
  2276. X+         6,
  2277. X+         /* [113] */
  2278. X+         6,
  2279. X+         /* [114] */
  2280. X+         6,
  2281. X+         /* [115] */
  2282. X+         6,
  2283. X+         /* [116] */
  2284. X+         6,
  2285. X+         /* [117] */
  2286. X+         262,
  2287. X+         /* [118] */
  2288. X+         6,
  2289. X+         /* [119] */
  2290. X+         6,
  2291. X+         /* [120] */
  2292. X+         6,
  2293. X+         /* [121] */
  2294. X+         6,
  2295. X+         /* [122] */
  2296. X+         6,
  2297. X+         /* [123] */
  2298. X+         6,
  2299. X+         /* [124] */
  2300. X+         518,
  2301. X+         /* [125] */
  2302. X+         518,
  2303. X+         /* [126] */
  2304. X+         262,
  2305. X+         /* [127] */
  2306. X+         6,
  2307. X+         /* [128] */
  2308. X+         0,
  2309. X+         /* [129] */
  2310. X+         6,
  2311. X+         /* [130] */
  2312. X+         6,
  2313. X+         /* [131] */
  2314. X+         6,
  2315. X+         /* [132] */
  2316. X+         6,
  2317. X+         /* [133] */
  2318. X+         6,
  2319. X+         /* [134] */
  2320. X+         6,
  2321. X+         /* [135] */
  2322. X+         6,
  2323. X+         /* [136] */
  2324. X+         6,
  2325. X+         /* [137] */
  2326. X+         6,
  2327. X+         /* [138] */
  2328. X+         6,
  2329. X+         /* [139] */
  2330. X+         6,
  2331. X+         /* [140] */
  2332. X+         262,
  2333. X+         /* [141] */
  2334. X+         262,
  2335. X+         /* [142] */
  2336. X+         262,
  2337. X+         /* [143] */
  2338. X+         6,
  2339. X+         /* [144] */
  2340. X+         6,
  2341. X+         /* [145] */
  2342. X+         6,
  2343. X+         /* [146] */
  2344. X+         6,
  2345. X+         /* [147] */
  2346. X+         6,
  2347. X+         /* [148] */
  2348. X+         6,
  2349. X+         /* [149] */
  2350. X+         6,
  2351. X+         /* [150] */
  2352. X+         6,
  2353. X+         /* [151] */
  2354. X+         6,
  2355. X+         /* [152] */
  2356. X+         6,
  2357. X+         /* [153] */
  2358. X+         6,
  2359. X+         /* [154] */
  2360. X+         6,
  2361. X+         /* [155] */
  2362. X+         6,
  2363. X+         /* [156] */
  2364. X+         6,
  2365. X+         /* [157] */
  2366. X+         6,
  2367. X+         /* [158] */
  2368. X+         6,
  2369. X+         /* [159] */
  2370. X+         6,
  2371. X+         /* [160] */
  2372. X+         6,
  2373. X+         /* [161] */
  2374. X+         6,
  2375. X+         /* [162] */
  2376. X+         518,
  2377. X+         /* [163] */
  2378. X+         6,
  2379. X+         /* [164] */
  2380. X+         6,
  2381. X+         /* [165] */
  2382. X+         6,
  2383. X+         /* [166] */
  2384. X+         6,
  2385. X+         /* [167] */
  2386. X+         262,
  2387. X+         /* [168] */
  2388. X+         262,
  2389. X+         /* [169] */
  2390. X+         6,
  2391. X+         /* [170] */
  2392. X+         6,
  2393. X+         /* [171] */
  2394. X+         6,
  2395. X+         /* [172] */
  2396. X+         6,
  2397. X+         /* [173] */
  2398. X+         6,
  2399. X+         /* [174] */
  2400. X+         774,
  2401. X+         /* [175] */
  2402. X+         6,
  2403. X+         /* [176] */
  2404. X+         6,
  2405. X+         /* [177] */
  2406. X+         6,
  2407. X+         /* [178] */
  2408. X+         6,
  2409. X+         /* [179] */
  2410. X+         6,
  2411. X+         /* [180] */
  2412. X+         774,
  2413. X+         /* [181] */
  2414. X+         6,
  2415. X+         /* [182] */
  2416. X+         6,
  2417. X+         /* [183] */
  2418. X+         6,
  2419. X+         /* [184] */
  2420. X+         6,
  2421. X+         /* [185] */
  2422. X+         6,
  2423. X+         /* [186] */
  2424. X+         6,
  2425. X+         /* [187] */
  2426. X+         518,
  2427. X+         /* [188] */
  2428. X+         6,
  2429. X+         /* [189] */
  2430. X+         6,
  2431. X+         /* [190] */
  2432. X+         6,
  2433. X+         /* [191] */
  2434. X+         6,
  2435. X+         /* [192] */
  2436. X+         6,
  2437. X+         /* [193] */
  2438. X+         774,
  2439. X+         /* [194] */
  2440. X+         6,
  2441. X+         /* [195] */
  2442. X+         6,
  2443. X+         /* [196] */
  2444. X+         774,
  2445. X+         /* [197] */
  2446. X+         6,
  2447. X+         /* [198] */
  2448. X+         6,
  2449. X+         /* [199] */
  2450. X+         774,
  2451. X+         /* [200] */
  2452. X+         518,
  2453. X+         /* [201] */
  2454. X+         518,
  2455. X+         /* [202] */
  2456. X+         518,
  2457. X+         /* [203] */
  2458. X+         6,
  2459. X+         /* [204] */
  2460. X+         6,
  2461. X+         /* [205] */
  2462. X+         518,
  2463. X+         /* [206] */
  2464. X+         6,
  2465. X+         /* [207] */
  2466. X+         6,
  2467. X+         /* [208] */
  2468. X+         6,
  2469. X+         /* [209] */
  2470. X+         6,
  2471. X+         /* [210] */
  2472. X+         6,
  2473. X+         /* [211] */
  2474. X+         6,
  2475. X+         /* [212] */
  2476. X+         518,
  2477. X+         /* [213] */
  2478. X+         774,
  2479. X+         /* [214] */
  2480. X+         774,
  2481. X+         /* [215] */
  2482. X+         518,
  2483. X+         /* [216] */
  2484. X+         6,
  2485. X+         /* [217] */
  2486. X+         6,
  2487. X+         /* [218] */
  2488. X+         6,
  2489. X+         /* [219] */
  2490. X+         774,
  2491. X+         /* [220] */
  2492. X+         6,
  2493. X+         /* [221] */
  2494. X+         6,
  2495. X+         /* [222] */
  2496. X+         6,
  2497. X+         /* [223] */
  2498. X+         774,
  2499. X+         /* [224] */
  2500. X+         6,
  2501. X+         /* [225] */
  2502. X+         6,
  2503. X+         /* [226] */
  2504. X+         6,
  2505. X+         /* [227] */
  2506. X+         6,
  2507. X+         /* [228] */
  2508. X+         6,
  2509. X+         /* [229] */
  2510. X+         6,
  2511. X+         /* [230] */
  2512. X+         6,
  2513. X+         /* [231] */
  2514. X+         6,
  2515. X+         /* [232] */
  2516. X+         6,
  2517. X+         /* [233] */
  2518. X+         6,
  2519. X+         /* [234] */
  2520. X+         6,
  2521. X+         /* [235] */
  2522. X+         6,
  2523. X+         /* [236] */
  2524. X+         6,
  2525. X+         /* [237] */
  2526. X+         6,
  2527. X+         /* [238] */
  2528. X+         6,
  2529. X+         /* [239] */
  2530. X+         6,
  2531. X+         /* [240] */
  2532. X+         6,
  2533. X+         /* [241] */
  2534. X+         6,
  2535. X+         /* [242] */
  2536. X+         6,
  2537. X+         /* [243] */
  2538. X+         262,
  2539. X+         /* [244] */
  2540. X+         262,
  2541. X+         /* [245] */
  2542. X+         774,
  2543. X+         /* [246] */
  2544. X+         6,
  2545. X+         /* [247] */
  2546. X+         6,
  2547. X+         /* [248] */
  2548. X+         6,
  2549. X+         /* [249] */
  2550. X+         262,
  2551. X+         /* [250] */
  2552. X+         6,
  2553. X+         /* [251] */
  2554. X+         518,
  2555. X+         /* [252] */
  2556. X+         6,
  2557. X+         /* [253] */
  2558. X+         6,
  2559. X+         /* [254] */
  2560. X+         6,
  2561. X+         /* [255] */
  2562. X+         262,
  2563. X+         /* [256] */
  2564. X+         6,
  2565. X+         /* [257] */
  2566. X+         -1
  2567. X+     }
  2568. X+ };
  2569. X+ 
  2570. X+ resource 'PICT' (100) {
  2571. X+     588,
  2572. X+     {32, 121, 46, 403},
  2573. X+     $"11 01 A0 00 82 A0 00 8E 01 00 0A 00 20 00 71 02"
  2574. X+     $"D0 02 40 98 00 24 00 00 00 08 00 0E 01 28 00 00"
  2575. X+     $"00 08 00 0E 01 22 00 20 00 79 00 2E 01 93 00 01"
  2576. X+     $"21 0F F8 7E 00 00 7F 3F 80 00 01 E0 00 7E 00 3C"
  2577. X+     $"00 1E FE 00 06 01 E0 00 00 3F 03 F0 FA 00 02 01"
  2578. X+     $"E0 00 22 05 38 18 00 00 1C 0E FE 00 06 E0 00 E7"
  2579. X+     $"00 E7 00 3F FD 00 08 E0 00 00 0F 03 C0 00 00 1C"
  2580. X+     $"FC 00 01 E0 00 25 05 3C 18 00 1C 1C 0E FE 00 06"
  2581. X+     $"E0 00 E3 80 E7 00 77 FE 00 0B 70 E0 00 00 0F 87"
  2582. X+     $"C0 00 00 1C 00 07 FE 00 01 E0 00 24 05 3E 18 00"
  2583. X+     $"1C 1C 0E FE 00 06 E0 00 03 81 C3 80 70 FE 00 06"
  2584. X+     $"70 E0 00 00 0F 87 C0 FD 00 00 07 FE 00 01 E0 00"
  2585. X+     $"24 05 3F 18 00 1C 1C 0E FE 00 06 E0 00 03 81 C3"
  2586. X+     $"80 70 FE 00 06 70 E0 00 00 0F 87 C0 FD 00 00 07"
  2587. X+     $"FE 00 01 E0 00 25 23 37 18 3E 3F 1C 0E 07 81 F0"
  2588. X+     $"EF 80 07 01 C3 81 FC 7E 3D C0 FC FF 07 C0 0D CD"
  2589. X+     $"C0 F0 3E 3C FF 8F C7 E1 FC FF 00 25 23 33 98 77"
  2590. X+     $"1C 1F FE 1C C3 9C E6 00 3E 01 C3 80 70 E7 1F C0"
  2591. X+     $"70 F7 8E E0 0D CD C3 98 73 9C 7B C7 0E 73 9C F7"
  2592. X+     $"80 25 23 33 D8 E3 9C 1C 0E 1C E7 1C EC 00 07 01"
  2593. X+     $"C3 80 71 C3 9E 00 70 E3 9C 70 0D CD C3 9C E3 9C"
  2594. X+     $"71 C7 1C 3B 0C E3 80 25 23 31 D8 E3 9C 1C 0E 00"
  2595. X+     $"E7 00 F8 00 03 81 C3 80 71 C3 9C 00 70 E3 9C 70"
  2596. X+     $"0C F9 C0 1C E0 1C 71 C7 1C 3B C0 E3 80 25 23 30"
  2597. X+     $"F8 FF 9C 1C 0E 07 E7 00 F8 00 03 81 C3 80 71 C3"
  2598. X+     $"9C 00 70 E3 9F F0 0C F9 C0 FC E0 1C 71 C7 1C 39"
  2599. X+     $"F8 E3 80 25 23 30 F8 E0 1C 1C 0E 1C E7 00 FC 00"
  2600. X+     $"03 81 C3 80 71 C3 9C 00 70 E3 9C 00 0C F9 C3 9C"
  2601. X+     $"E0 1C 71 C7 1C 38 3C E3 80 25 23 30 78 E1 9C 1C"
  2602. X+     $"0E 38 E7 0C EE 01 C3 80 E7 00 71 C3 9C 00 70 E3"
  2603. X+     $"9C 30 0C 71 C7 1C E1 9C 71 C7 1C 3B 0C E3 80 25"
  2604. X+     $"23 30 38 73 9D 9C 0E 39 E3 9C E7 01 C7 1C E7 00"
  2605. X+     $"70 E7 1C 00 76 E3 8E 70 0C 71 C7 3C 73 9C 71 C7"
  2606. X+     $"6E 73 9C E3 80 25 23 FC 18 3F 0F 7F 3F 9F F1 F9"
  2607. X+     $"FF C0 FE 1C 3C 00 F8 7E 3E 00 3D F7 C7 E0 3F 77"
  2608. X+     $"F3 FE 3F 3E FB E3 C7 E3 F9 F7 C0 A0 00 8F A0 00"
  2609. X+     $"83 FF"
  2610. X+ };
  2611. X
  2612. END_OF_FILE
  2613. if test 55526 -ne `wc -c <'patches05b'`; then
  2614.     echo shar: \"'patches05b'\" unpacked with wrong size!
  2615. fi
  2616. # end of 'patches05b'
  2617. fi
  2618. echo shar: End of archive 2 \(of 6\).
  2619. cp /dev/null ark2isdone
  2620. MISSING=""
  2621. for I in 1 2 3 4 5 6 ; do
  2622.     if test ! -f ark${I}isdone ; then
  2623.     MISSING="${MISSING} ${I}"
  2624.     fi
  2625. done
  2626. if test "${MISSING}" = "" ; then
  2627.     echo You have unpacked all 6 archives.
  2628.     rm -f ark[1-9]isdone
  2629. else
  2630.     echo You still need to unpack the following archives:
  2631.     echo "        " ${MISSING}
  2632. fi
  2633. ##  End of shell archive.
  2634. exit 0
  2635.