home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / games / volume16 / nethck31 / patch2m < prev    next >
Encoding:
Internet Message Format  |  1993-06-15  |  62.0 KB

  1. Path: uunet!news.tek.com!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v17i088:  nethack31 - display oriented dungeons & dragons (Ver. 3.1), Patch2m/33
  5. Date: 11 Jun 1993 00:11:08 GMT
  6. Organization: Tektronix, Inc, Redmond, OR, USA
  7. Lines: 2520
  8. Approved: billr@saab.CNA.TEK.COM
  9. Message-ID: <1v8iis$j1h@ying.cna.tek.com>
  10. NNTP-Posting-Host: saab.cna.tek.com
  11. Xref: uunet comp.sources.games:1776
  12.  
  13. Submitted-by: izchak@linc.cis.upenn.edu (Izchak Miller)
  14. Posting-number: Volume 17, Issue 88
  15. Archive-name: nethack31/Patch2m
  16. Patch-To: nethack31: Volume 16, Issue 1-116
  17. Environment: Amiga, Atari, Mac, MS-DOS, Windows-NT, OS2, Unix, VMS, X11
  18.  
  19.  
  20.  
  21. #! /bin/sh
  22. # This is a shell archive.  Remove anything before this line, then unpack
  23. # it by saving it into a file and typing "sh file".  To overwrite existing
  24. # files, type "sh file -c".  You can also feed this as standard input via
  25. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  26. # will see the following message at the end:
  27. #        "End of archive 13 (of 33)."
  28. # Contents:  patches02l sys/amiga/windefs.h
  29. # Wrapped by billr@saab on Thu Jun 10 16:55:03 1993
  30. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  31. if test -f 'patches02l' -a "${1}" != "-c" ; then 
  32.   echo shar: Renaming existing file \"'patches02l'\" to \"'patches02l.orig'\"
  33.   mv -f 'patches02l' 'patches02l.orig'
  34. fi
  35. echo shar: Extracting \"'patches02l'\" \(54798 characters\)
  36. sed "s/^X//" >'patches02l' <<'END_OF_FILE'
  37. X*** /tmp/da11840    Tue Jun  1 17:00:36 1993
  38. X--- sys/amiga/amiwind.c    Tue Jun  1 12:12:53 1993
  39. X***************
  40. X*** 3,70 ****
  41. X  /*    Copyright (c) Kenneth Lorber, Bethesda, Maryland 1993      */
  42. X  /* NetHack may be freely redistributed.  See license for details. */
  43. X  
  44. X! /*
  45. X!  *  Here is some very Amiga specific stuff, dealing with
  46. X!  *  screens, windows, menus, and input via IntuiMessages.
  47. X!  */
  48. X  
  49. X- #include "hack.h"
  50. X- #include "winami.h"
  51. X- 
  52. X  /* Have to undef CLOSE as display.h and intuition.h both use it */
  53. X  #undef CLOSE
  54. X  
  55. X! #include <exec/types.h>
  56. X! #include <exec/alerts.h>
  57. X! #include <exec/io.h>
  58. X! #include <exec/devices.h>
  59. X! #include <devices/console.h>
  60. X! #include <devices/conunit.h>
  61. X! #include <intuition/intuition.h>
  62. X! #include <intuition/intuitionbase.h>
  63. X! #include <libraries/dosextens.h>
  64. X  
  65. X! #ifdef __SASC
  66. X! # undef COUNT
  67. X! 
  68. X! # include <dos.h>       /* for __emit */
  69. X! # include <string.h>
  70. X! # include <proto/dos.h>
  71. X! # include <proto/exec.h>
  72. X! 
  73. X! /* kludge - see amirip for why */
  74. X! # undef red
  75. X! # undef green
  76. X! # undef blue
  77. X! # undef index
  78. X! # include <proto/graphics.h>
  79. X! 
  80. X! # include <proto/intuition.h>
  81. X! # include <proto/diskfont.h>
  82. X! # include <proto/console.h>
  83. X  #endif
  84. X  
  85. X- #undef  NULL
  86. X- #define NULL    0L
  87. X- 
  88. X  #include "Amiga:amimenu.c"
  89. X  
  90. X- /*  First, external declarations... */
  91. X- 
  92. X- struct Library *ConsoleDevice;
  93. X- 
  94. X- #ifdef AZTEC_50
  95. X- # include <functions.h>
  96. X- #endif
  97. X- 
  98. X- #ifdef  INTUI_NEW_LOOK
  99. X- #define NewWindow ExtNewWindow
  100. X- #endif
  101. X- 
  102. X- #include "Amiga:winami.p"
  103. X- #include "Amiga:amiwind.p"
  104. X- #include "Amiga:amidos.p"
  105. X- 
  106. X  static int BufferGetchar(void);
  107. X  static void ProcessMessage( register struct IntuiMessage *message );
  108. X  
  109. X--- 3,23 ----
  110. X  /*    Copyright (c) Kenneth Lorber, Bethesda, Maryland 1993      */
  111. X  /* NetHack may be freely redistributed.  See license for details. */
  112. X  
  113. X! #include "amiga:windefs.h"
  114. X! #include "amiga:winext.h"
  115. X! #include "amiga:winproto.h"
  116. X  
  117. X  /* Have to undef CLOSE as display.h and intuition.h both use it */
  118. X  #undef CLOSE
  119. X  
  120. X! #ifdef AMII_GRAPHICS    /* too early in the file? too late? */
  121. X  
  122. X! #ifndef    SHAREDLIB
  123. X! struct Library *ConsoleDevice;
  124. X  #endif
  125. X  
  126. X  #include "Amiga:amimenu.c"
  127. X  
  128. X  static int BufferGetchar(void);
  129. X  static void ProcessMessage( register struct IntuiMessage *message );
  130. X  
  131. X***************
  132. X*** 75,85 ****
  133. X--- 28,42 ----
  134. X  /*  Now our own variables */
  135. X  
  136. X  struct IntuitionBase *IntuitionBase;
  137. X+ #ifndef    SHAREDLIB
  138. X  struct Screen *HackScreen;
  139. X+ #endif
  140. X  struct Window *pr_WindowPtr;
  141. X  struct MsgPort *HackPort;
  142. X  struct IOStdReq ConsoleIO;
  143. X+ #ifndef    SHAREDLIB
  144. X  char Initialized = 0;
  145. X+ #endif
  146. X  WEVENT lastevent;
  147. X  
  148. X  #ifdef HACKFONT
  149. X***************
  150. X*** 87,98 ****
  151. X  struct Library *DiskfontBase;
  152. X  #endif
  153. X  
  154. X  extern struct Library *ConsoleDevice;
  155. X  
  156. X- #define CSI     '\x9b'
  157. X- #define NO_CHAR     -1
  158. X- #define RAWHELP     0x5F    /* Rawkey code of the HELP key */
  159. X- 
  160. X  #define KBDBUFFER   10
  161. X  static unsigned char KbdBuffer[KBDBUFFER];
  162. X  unsigned char KbdBuffered;
  163. X--- 44,53 ----
  164. X  struct Library *DiskfontBase;
  165. X  #endif
  166. X  
  167. X+ #ifndef    SHAREDLIB
  168. X  extern struct Library *ConsoleDevice;
  169. X+ #endif
  170. X  
  171. X  #define KBDBUFFER   10
  172. X  static unsigned char KbdBuffer[KBDBUFFER];
  173. X  unsigned char KbdBuffered;
  174. X***************
  175. X*** 122,134 ****
  176. X--- 77,118 ----
  177. X   * See amiwind.c for the amiga specific colormap.
  178. X   */
  179. X  
  180. X+ #ifdef    VIEWWINDOW
  181. X+ int foreg[16] = { 8, 7, 4, 2, 6, 5, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0 };
  182. X+ int backg[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 4, 1, 6, 5, 3, 1 };
  183. X+ #else
  184. X  int foreg[16] = { 0, 7, 4, 2, 6, 5, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0 };
  185. X  int backg[16] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 7, 4, 1, 6, 5, 3, 1 };
  186. X  #endif
  187. X+ #if 0
  188. X+     #define BLACK        0
  189. X+     #define RED        1
  190. X+     #define GREEN        2
  191. X+     #define BROWN        3    /* on IBM, low-intensity yellow is brown */
  192. X+     #define BLUE        4
  193. X+     #define MAGENTA     5
  194. X+     #define CYAN        6
  195. X+     #define GRAY        7    /* low-intensity white */
  196. X+     #define NO_COLOR    8
  197. X+     #define ORANGE_COLORED    9    /* "orange" conflicts with the object */
  198. X+     #define BRIGHT_GREEN    10
  199. X+     #define YELLOW        11
  200. X+     #define BRIGHT_BLUE    12
  201. X+     #define BRIGHT_MAGENTA  13
  202. X+     #define BRIGHT_CYAN    14
  203. X+     #define WHITE        15
  204. X+     #define MAXCOLORS    16
  205. X+ #endif
  206. X+ #endif
  207. X  
  208. X  #ifdef HACKFONT
  209. X  
  210. X+ struct TextFont *TextsFont;
  211. X  struct TextFont *HackFont;
  212. X+ #ifdef    VIEWWINDOW
  213. X+ struct TextFont *HackFont4;
  214. X+ struct TextFont *HackFont16;
  215. X+ #endif
  216. X  UBYTE FontName[] = "NetHack:hack.font";
  217. X      /* # chars in "NetHack:": */
  218. X  #define         SIZEOF_DISKNAME 8
  219. X***************
  220. X*** 141,149 ****
  221. X  #else
  222. X      (UBYTE *) "topaz.font",
  223. X  #endif
  224. X!     TOPAZ_EIGHTY, FS_NORMAL, FPF_DISKFONT | FPF_ROMFONT
  225. X  };
  226. X  
  227. X  /*
  228. X   * Open a window that shares the HackPort IDCMP. Use CloseShWindow()
  229. X   * to close.
  230. X--- 125,168 ----
  231. X  #else
  232. X      (UBYTE *) "topaz.font",
  233. X  #endif
  234. X!     8, FS_NORMAL, FPF_DISKFONT | FPF_DESIGNED
  235. X!     | FPF_ROMFONT
  236. X  };
  237. X  
  238. X+ #ifdef    VIEWWINDOW
  239. X+ struct TextAttr Hack40 = {
  240. X+ #ifdef HACKFONT
  241. X+     &FontName[SIZEOF_DISKNAME],
  242. X+ #else
  243. X+     (UBYTE *) "topaz.font",
  244. X+ #endif
  245. X+     4, FS_NORMAL, FPF_DISKFONT | FPF_DESIGNED
  246. X+ #ifndef    HACKFONT
  247. X+     | FPF_ROMFONT
  248. X+ #endif
  249. X+ };
  250. X+ 
  251. X+ struct TextAttr Hack160 = {
  252. X+ #ifdef HACKFONT
  253. X+     &FontName[SIZEOF_DISKNAME],
  254. X+ #else
  255. X+     (UBYTE *) "topaz.font",
  256. X+ #endif
  257. X+     16, FS_NORMAL, FPF_DISKFONT | FPF_DESIGNED
  258. X+ #ifndef    HACKFONT
  259. X+     | FPF_ROMFONT
  260. X+ #endif
  261. X+ };
  262. X+ #endif
  263. X+ 
  264. X+ struct TextAttr TextsFont13 = {
  265. X+     (UBYTE *) "courier.font",
  266. X+     13, FS_NORMAL, FPF_DISKFONT | FPF_DESIGNED
  267. X+ #ifndef    HACKFONT
  268. X+     | FPF_ROMFONT
  269. X+ #endif
  270. X+ };
  271. X+ 
  272. X  /*
  273. X   * Open a window that shares the HackPort IDCMP. Use CloseShWindow()
  274. X   * to close.
  275. X***************
  276. X*** 177,183 ****
  277. X  void CloseShWindow(win)
  278. X  struct Window *win;
  279. X  {
  280. X!     register struct IntuiMessage *msg, *nxt;
  281. X  
  282. X      if( !HackPort )
  283. X      panic("HackPort NULL in CloseShWindow" );
  284. X--- 196,202 ----
  285. X  void CloseShWindow(win)
  286. X  struct Window *win;
  287. X  {
  288. X!     register struct IntuiMessage *msg;
  289. X  
  290. X      if( !HackPort )
  291. X      panic("HackPort NULL in CloseShWindow" );
  292. X***************
  293. X*** 332,353 ****
  294. X      int c;
  295. X      static int skip_mouse=0;    /* need to ignore next mouse event on
  296. X                   * a window activation */
  297. X      switch(message->Class) {
  298. X      case ACTIVEWINDOW:
  299. X!     skip_mouse=1;break;
  300. X      case MOUSEBUTTONS:
  301. X      {
  302. X!         if(skip_mouse){
  303. X          skip_mouse=0;
  304. X          break;
  305. X          }
  306. X!         if( message->Code == SELECTDOWN ){
  307. X          lastevent.type = WEMOUSE;
  308. X!         lastevent.u.mouse.x = message->MouseX;
  309. X!         lastevent.u.mouse.y = message->MouseY;
  310. X              /* With shift equals RUN */
  311. X!         lastevent.u.mouse.qual = (message->Qualifier &
  312. X            (IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT)) != 0;
  313. X          }
  314. X      }
  315. X      break;
  316. X--- 351,409 ----
  317. X      int c;
  318. X      static int skip_mouse=0;    /* need to ignore next mouse event on
  319. X                   * a window activation */
  320. X+     struct Window *w = message->IDCMPWindow;
  321. X+ 
  322. X      switch(message->Class) {
  323. X      case ACTIVEWINDOW:
  324. X!     if( alwaysinvent && WIN_INVEN != WIN_ERR &&
  325. X!                 message->IDCMPWindow ==
  326. X!                 amii_wins[ WIN_INVEN ]->win )
  327. X!     {
  328. X!         DoMenuScroll( WIN_INVEN, 0 );
  329. X!     }
  330. X!     else if( scrollmsg && WIN_MESSAGE != WIN_ERR &&
  331. X!                 message->IDCMPWindow ==
  332. X!                 amii_wins[ WIN_MESSAGE ]->win )
  333. X!     {
  334. X!         DoMenuScroll( WIN_MESSAGE, 0 );
  335. X!     }
  336. X!     else
  337. X!     {
  338. X!         skip_mouse=1;
  339. X!     }
  340. X!     break;
  341. X! 
  342. X      case MOUSEBUTTONS:
  343. X      {
  344. X!         if( skip_mouse )
  345. X!         {
  346. X          skip_mouse=0;
  347. X          break;
  348. X          }
  349. X! 
  350. X!         if( !amii_wins[ WIN_MAP ] || w != amii_wins[ WIN_MAP ]->win )
  351. X!         break;
  352. X! 
  353. X!         if( message->Code == SELECTUP )
  354. X!         {
  355. X! #ifdef    VIEWWINDOW
  356. X!         amii_putstr( WIN_MESSAGE, 0, "done..." );
  357. X!         w->Flags &= ~REPORTMOUSE;
  358. X! #endif
  359. X!         }
  360. X!         else if( message->Code == SELECTDOWN )
  361. X!         {
  362. X          lastevent.type = WEMOUSE;
  363. X!         lastevent.un.mouse.x = message->MouseX;
  364. X!         lastevent.un.mouse.y = message->MouseY;
  365. X              /* With shift equals RUN */
  366. X!         lastevent.un.mouse.qual = (message->Qualifier &
  367. X            (IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT)) != 0;
  368. X+ #ifdef    VIEWWINDOW
  369. X+         w->Flags |= REPORTMOUSE;
  370. X+         amii_putstr( WIN_MESSAGE, 0,
  371. X+             "drag mouse to see other areas of this level" );
  372. X+ #endif
  373. X          }
  374. X      }
  375. X      break;
  376. X***************
  377. X*** 358,364 ****
  378. X          struct MenuItem *item;
  379. X  
  380. X          thismenu = message->Code;
  381. X!         while (thismenu != MENUNULL) {
  382. X          item = ItemAddress(HackMenu, (ULONG) thismenu);
  383. X          if (KbdBuffered < KBDBUFFER)
  384. X              BufferQueueChar(item->Command); /* Unused: No COMMSEQ */
  385. X--- 414,421 ----
  386. X          struct MenuItem *item;
  387. X  
  388. X          thismenu = message->Code;
  389. X!         while (thismenu != MENUNULL)
  390. X!         {
  391. X          item = ItemAddress(HackMenu, (ULONG) thismenu);
  392. X          if (KbdBuffered < KBDBUFFER)
  393. X              BufferQueueChar(item->Command); /* Unused: No COMMSEQ */
  394. X***************
  395. X*** 367,372 ****
  396. X--- 424,469 ----
  397. X      }
  398. X      break;
  399. X  
  400. X+     case REFRESHWINDOW:
  401. X+ #ifdef    VIEWWINDOW
  402. X+     {
  403. X+         struct Window *vw, *vbw;
  404. X+         if( amii_wins[ WIN_VIEWBOX ] && amii_wins[ WIN_VIEW ] &&
  405. X+             w == amii_wins[ WIN_VIEWBOX ]->win )
  406. X+         {
  407. X+         vw = amii_wins[ WIN_VIEW ]->win;
  408. X+         vbw = amii_wins[ WIN_VIEWBOX ]->win;
  409. X+ 
  410. X+         if( vw->LeftEdge != (vbw->LeftEdge+vbw->BorderLeft) ||
  411. X+             vw->TopEdge != ( vbw->TopEdge + vbw->BorderTop ) ||
  412. X+             vw->Width != (vbw->Width -vbw->BorderLeft - vbw->BorderRight ) ||
  413. X+             vw->Height != (vbw->Height - vbw->BorderTop - vbw->BorderBottom ) )
  414. X+         {
  415. X+             MoveWindow( vw, (vbw->LeftEdge+vbw->BorderLeft) - vw->LeftEdge,
  416. X+             ( vbw->TopEdge + vbw->BorderTop ) - vw->TopEdge );
  417. X+             SizeWindow( vw,
  418. X+             ( vbw->Width -vbw->BorderLeft -
  419. X+                 vbw->BorderRight ) - vw->Width,
  420. X+             ( vbw->Height - vbw->BorderTop -
  421. X+                 vbw->BorderBottom - vw->Height ) );
  422. X+         }
  423. X+         }
  424. X+         else if( amii_wins[ WIN_MESSAGE ] && w == amii_wins[ WIN_MESSAGE ]->win )
  425. X+         {
  426. X+         DoMenuScroll( WIN_MESSAGE, 0 );
  427. X+         }
  428. X+     }
  429. X+ #endif
  430. X+     break;
  431. X+ 
  432. X+     case CLOSEWINDOW:
  433. X+     if( WIN_INVEN != WIN_ERR && message->IDCMPWindow ==
  434. X+                 amii_wins[ WIN_INVEN ]->win )
  435. X+     {
  436. X+         dismiss_nhwindow( WIN_INVEN );
  437. X+     }
  438. X+     break;
  439. X+ 
  440. X      case RAWKEY:
  441. X      if (!(message->Code & IECODE_UP_PREFIX)){
  442. X          /* May queue multiple characters
  443. X***************
  444. X*** 376,385 ****
  445. X--- 473,557 ----
  446. X          BufferQueueChar( c );
  447. X          }
  448. X          break;
  449. X+ 
  450. X+     case MOUSEMOVE:
  451. X+ #ifdef    VIEWWINDOW
  452. X+     if( w == amii_wins[ WIN_MAP ]->win )
  453. X+     {
  454. X+         int posx, posy, dx, dy;
  455. X+         register struct MsgPort *port = w->UserPort;
  456. X+         struct amii_WinDesc *cw;
  457. X+ 
  458. X+         posx = message->MouseX;
  459. X+         posy = message->MouseY;
  460. X+         cursor_on( WIN_MAP );
  461. X+         cw = amii_wins[ WIN_MAP ];
  462. X+ 
  463. X+         do {
  464. X+         if( message->Class == MOUSEBUTTONS ||
  465. X+                     message->Class == INACTIVEWINDOW )
  466. X+         {
  467. X+             w->Flags &= ~REPORTMOUSE;
  468. X+             break;
  469. X+         }
  470. X+         else if( message->Class == MOUSEMOVE )
  471. X+         {
  472. X+             if( posx != message->MouseX || posy != message->MouseY )
  473. X+             {
  474. X+             dx = message->MouseX - posx;
  475. X+             dy = message->MouseY - posy;
  476. X+             dx /= MAPFTWIDTH;
  477. X+             dy /= MAPFTHEIGHT;
  478. X+             if( dx != 0 || dy != 0 )
  479. X+             {
  480. X+                 posx = message->MouseX;
  481. X+                 posy = message->MouseY;
  482. X+                 amii_curs( WIN_MAP,
  483. X+                 (posx - w->BorderLeft)/MAPFTWIDTH+dx,
  484. X+                 (posy - w->BorderTop)/MAPFTHEIGHT+dy );
  485. X+                 cursor_on( WIN_MAP );
  486. X+             }
  487. X+             }
  488. X+         }
  489. X+         ReplyMsg( (struct Message *) message );
  490. X+         while( !(message = (struct IntuiMessage *)GetMsg( port ) ) )
  491. X+             WaitPort( port );
  492. X+         } while( message );
  493. X+         amii_putstr( WIN_MESSAGE, 0, "done..." );
  494. X+         break;
  495. X+     }
  496. X+ #endif
  497. X+     /* FALL through for MESSAGE or INVEN windows */
  498. X+     case GADGETDOWN:
  499. X+     if( WIN_MESSAGE != WIN_ERR && message->IDCMPWindow ==
  500. X+             amii_wins[ WIN_MESSAGE ]->win )
  501. X+     {
  502. X+         DoMenuScroll( WIN_MESSAGE, 0 );
  503. X+     }
  504. X+     else if( WIN_INVEN != WIN_ERR && message->IDCMPWindow ==
  505. X+             amii_wins[ WIN_INVEN ]->win )
  506. X+     {
  507. X+         DoMenuScroll( WIN_INVEN, 0 );
  508. X+     }
  509. X+     break;
  510. X+ 
  511. X+     case NEWSIZE:
  512. X+     if( WIN_MESSAGE != WIN_ERR && message->IDCMPWindow ==
  513. X+             amii_wins[ WIN_MESSAGE ]->win )
  514. X+     {
  515. X+         ReDisplayData( WIN_MESSAGE );
  516. X+     }
  517. X+     else if( WIN_INVEN != WIN_ERR && message->IDCMPWindow ==
  518. X+             amii_wins[ WIN_INVEN ]->win )
  519. X+     {
  520. X+         ReDisplayData( WIN_INVEN );
  521. X+     }
  522. X+     break;
  523. X      }
  524. X      ReplyMsg((struct Message *) message);
  525. X  }
  526. X  
  527. X+ #endif /* AMII_GRAPHICS */
  528. X  /*
  529. X   *  Get all incoming messages and fill up the keyboard buffer,
  530. X   *  thus allowing Intuition to (maybe) free up the IntuiMessages.
  531. X***************
  532. X*** 388,403 ****
  533. X--- 560,586 ----
  534. X   *  between characters and incoming messages.
  535. X   */
  536. X  
  537. X+ #if defined(TTY_GRAPHICS) && !defined(AMII_GRAPHICS)
  538. X+ int kbhit(){return 0};
  539. X+ #else
  540. X  int
  541. X  kbhit()
  542. X  {
  543. X      int c;
  544. X+ #ifdef TTY_GRAPHICS
  545. X+         /* a kludge to defuse the mess in allmain.c */
  546. X+         /* I hope this is the right approach */
  547. X+     if(windowprocs.win_init_nhwindows==amii_procs.win_init_nhwindows)return 0;
  548. X+ #endif
  549. X      c = amikbhit();
  550. X      if( c <= 0 )
  551. X          return( 0 );
  552. X      return( c );
  553. X  }
  554. X+ #endif
  555. X  
  556. X+ #ifdef AMII_GRAPHICS
  557. X+ 
  558. X  int
  559. X  amikbhit()
  560. X  {
  561. X***************
  562. X*** 445,451 ****
  563. X      if( KbdBuffered )
  564. X      {
  565. X      lastevent.type = WEKEY;
  566. X!     lastevent.u.key = BufferGetchar();
  567. X      }
  568. X      return( lastevent.type );
  569. X  }
  570. X--- 628,634 ----
  571. X      if( KbdBuffered )
  572. X      {
  573. X      lastevent.type = WEKEY;
  574. X!     lastevent.un.key = BufferGetchar();
  575. X      }
  576. X      return( lastevent.type );
  577. X  }
  578. X***************
  579. X*** 455,470 ****
  580. X   *  when there is something that s/he should read.
  581. X   */
  582. X  
  583. X! void CleanUp()
  584. X  {
  585. X      register struct IntuiMessage *msg;
  586. X  
  587. X!     /* Finish closing things up */
  588. X  
  589. X-     amii_raw_print("");
  590. X-     amii_getret();
  591. X- 
  592. X-     ((struct Process *) FindTask(NULL))->pr_WindowPtr = (APTR) pr_WindowPtr;
  593. X      if (ConsoleIO.io_Device)
  594. X      CloseDevice( (struct IORequest *)&ConsoleIO );
  595. X      ConsoleIO.io_Device = 0;
  596. X--- 638,654 ----
  597. X   *  when there is something that s/he should read.
  598. X   */
  599. X  
  600. X! void amii_cleanup()
  601. X  {
  602. X      register struct IntuiMessage *msg;
  603. X  
  604. X!     /* Close things up */
  605. X!     if( HackPort )
  606. X!     {
  607. X!     amii_raw_print("");
  608. X!     amii_getret();
  609. X!     }
  610. X  
  611. X      if (ConsoleIO.io_Device)
  612. X      CloseDevice( (struct IORequest *)&ConsoleIO );
  613. X      ConsoleIO.io_Device = 0;
  614. X***************
  615. X*** 473,479 ****
  616. X      DeletePort( ConsoleIO.io_Message.mn_ReplyPort );
  617. X      ConsoleIO.io_Message.mn_ReplyPort = 0;
  618. X  
  619. X!     if (HackPort) {
  620. X      Forbid();
  621. X      while (msg = (struct IntuiMessage *) GetMsg(HackPort))
  622. X          ReplyMsg((struct Message *) msg);
  623. X--- 657,665 ----
  624. X      DeletePort( ConsoleIO.io_Message.mn_ReplyPort );
  625. X      ConsoleIO.io_Message.mn_ReplyPort = 0;
  626. X  
  627. X!     /* Strip messages before deleting the port */
  628. X!     if( HackPort )
  629. X!     {
  630. X      Forbid();
  631. X      while (msg = (struct IntuiMessage *) GetMsg(HackPort))
  632. X          ReplyMsg((struct Message *) msg);
  633. X***************
  634. X*** 483,493 ****
  635. X      Permit();
  636. X      }
  637. X  
  638. X!     if (HackScreen) {
  639. X  #ifdef  INTUI_NEW_LOOK
  640. X      if( IntuitionBase->LibNode.lib_Version >= 37 )
  641. X      {
  642. X!         while( CloseScreen(HackScreen) == FALSE )
  643. X          {
  644. X          struct EasyStruct easy =
  645. X          {
  646. X--- 669,683 ----
  647. X      Permit();
  648. X      }
  649. X  
  650. X!     /* Close the screen, under v37 or greater it is a pub screen and there may be
  651. X!      * visitors, so check close status and wait till everyone is gone.
  652. X!      */
  653. X!     if( HackScreen )
  654. X!     {
  655. X  #ifdef  INTUI_NEW_LOOK
  656. X      if( IntuitionBase->LibNode.lib_Version >= 37 )
  657. X      {
  658. X!         while( CloseScreen( HackScreen ) == FALSE )
  659. X          {
  660. X          struct EasyStruct easy =
  661. X          {
  662. X***************
  663. X*** 500,513 ****
  664. X          EasyRequest( NULL, &easy, NULL, NULL );
  665. X          }
  666. X      }
  667. X! #else
  668. X!     CloseScreen(HackScreen);
  669. X  #endif
  670. X      HackScreen = NULL;
  671. X      }
  672. X  
  673. X  #ifdef HACKFONT
  674. X- 
  675. X      if (HackFont)
  676. X      {
  677. X      CloseFont(HackFont);
  678. X--- 690,704 ----
  679. X          EasyRequest( NULL, &easy, NULL, NULL );
  680. X          }
  681. X      }
  682. X!     else
  683. X  #endif
  684. X+     {
  685. X+         CloseScreen(HackScreen);
  686. X+     }
  687. X      HackScreen = NULL;
  688. X      }
  689. X  
  690. X  #ifdef HACKFONT
  691. X      if (HackFont)
  692. X      {
  693. X      CloseFont(HackFont);
  694. X***************
  695. X*** 514,519 ****
  696. X--- 705,730 ----
  697. X      HackFont = NULL;
  698. X      }
  699. X  
  700. X+ #ifdef    VIEWWINDOW
  701. X+     if (HackFont4)
  702. X+     {
  703. X+     CloseFont(HackFont4);
  704. X+     HackFont4 = NULL;
  705. X+     }
  706. X+ 
  707. X+     if (HackFont16)
  708. X+     {
  709. X+     CloseFont(HackFont16);
  710. X+     HackFont16 = NULL;
  711. X+     }
  712. X+ #endif
  713. X+ 
  714. X+     if( TextsFont )
  715. X+     {
  716. X+     CloseFont( TextsFont );
  717. X+     TextsFont = NULL;
  718. X+     }
  719. X+ 
  720. X      if( DiskfontBase )
  721. X      {
  722. X      CloseLibrary(DiskfontBase);
  723. X***************
  724. X*** 521,526 ****
  725. X--- 732,744 ----
  726. X      }
  727. X  #endif
  728. X  
  729. X+ #ifdef    VIEWWINDOW
  730. X+     if (LayersBase) {
  731. X+     CloseLibrary((struct Library *)LayersBase);
  732. X+     LayersBase = NULL;
  733. X+     }
  734. X+ #endif
  735. X+ 
  736. X      if (GfxBase) {
  737. X      CloseLibrary((struct Library *)GfxBase);
  738. X      GfxBase = NULL;
  739. X***************
  740. X*** 531,563 ****
  741. X      IntuitionBase = NULL;
  742. X      }
  743. X  
  744. X      Initialized = 0;
  745. X  }
  746. X  
  747. X  void Abort(rc)
  748. X  long rc;
  749. X  {
  750. X  #ifdef CHDIR
  751. X      extern char orgdir[];
  752. X      chdir(orgdir);
  753. X  #endif
  754. X!     if (Initialized && ConsoleDevice) {
  755. X!     printf("\n\nAbort with alert code %08lx...\n", rc);
  756. X!     amii_getret();
  757. X      } else
  758. X!     Alert(rc);
  759. X  #ifdef __SASC
  760. X      {
  761. X  /*  __emit(0x4afc);     /* illegal instruction */
  762. X      __emit(0x40fc);     /* divide by */
  763. X      __emit(0x0000);     /*  #0  */
  764. X!     /* NOTE: don't move CleanUp() above here - */
  765. X!     /* it is too likely to kill the system     */
  766. X!     /* before it can get the SnapShot out, if  */
  767. X!     /* there is something really wrong.    */
  768. X      }
  769. X  #endif
  770. X!     CleanUp();
  771. X  #undef exit
  772. X  #ifdef AZTEC_C
  773. X      _abort();
  774. X--- 749,818 ----
  775. X      IntuitionBase = NULL;
  776. X      }
  777. X  
  778. X+ #ifdef    SHAREDLIB
  779. X+     if (DOSBase) {
  780. X+     CloseLibrary((struct Library *)DOSBase);
  781. X+     DOSBase = NULL;
  782. X+     }
  783. X+ #endif
  784. X+ 
  785. X+     ((struct Process *) FindTask(NULL))->pr_WindowPtr = (APTR) pr_WindowPtr;
  786. X+ 
  787. X      Initialized = 0;
  788. X  }
  789. X  
  790. X+ #ifndef    SHAREDLIB
  791. X  void Abort(rc)
  792. X  long rc;
  793. X  {
  794. X+     int fault = 1;
  795. X  #ifdef CHDIR
  796. X      extern char orgdir[];
  797. X      chdir(orgdir);
  798. X  #endif
  799. X! #ifdef AMII_GRAPHICS
  800. X!     if (Initialized
  801. X!       && ConsoleDevice
  802. X!       && windowprocs.win_init_nhwindows==amii_procs.win_init_nhwindows) {
  803. X!       printf("\n\nAbort with alert code %08lx...\n", rc);
  804. X!       amii_getret();
  805. X      } else
  806. X! #endif
  807. X!       printf("\n\nAbort with alert code %08lx...\n",rc);
  808. X! #if 0
  809. X!       Alert(rc);              /* this is too severe */
  810. X! #endif
  811. X  #ifdef __SASC
  812. X+ #ifdef    INTUI_NEW_LOOK
  813. X      {
  814. X+         struct EasyStruct es =
  815. X+         {
  816. X+             sizeof( struct EasyStruct ),
  817. X+             0,
  818. X+             "NetHack Panic Request",
  819. X+             "NetHack is Aborting with code == 0x%08lx",
  820. X+         "Continue Abort|Return to Program|Clean up and exit",
  821. X+         };
  822. X+         fault = EasyRequest( NULL, &es, NULL, (long)rc );
  823. X+         if( fault == 2 )
  824. X+             return;
  825. X+     }
  826. X+ #endif
  827. X+     if( fault == 1 )
  828. X+     {
  829. X  /*  __emit(0x4afc);     /* illegal instruction */
  830. X      __emit(0x40fc);     /* divide by */
  831. X      __emit(0x0000);     /*  #0  */
  832. X!       /* NOTE: don't move amii_cleanup() above here - */
  833. X!       /* it is too likely to kill the system     */
  834. X!       /* before it can get the SnapShot out, if  */
  835. X!       /* there is something really wrong.    */
  836. X      }
  837. X  #endif
  838. X! #ifdef AMII_GRAPHICS
  839. X!     if(windowprocs.win_init_nhwindows==amii_procs.win_init_nhwindows)
  840. X!       amii_cleanup();
  841. X! #endif
  842. X  #undef exit
  843. X  #ifdef AZTEC_C
  844. X      _abort();
  845. X***************
  846. X*** 565,570 ****
  847. X--- 820,834 ----
  848. X      exit((int) rc);
  849. X  }
  850. X  
  851. X+ void
  852. X+ CleanUp()
  853. X+ {
  854. X+     amii_cleanup();
  855. X+ }
  856. X+ #endif
  857. X+ 
  858. X+ #ifdef AMII_GRAPHICS
  859. X+ 
  860. X  #ifdef AMIFLUSH
  861. X  /* This routine adapted from AmigaMail IV-37 by Michael Sinz */
  862. X  static struct Message *
  863. X***************
  864. X*** 620,625 ****
  865. X--- 884,894 ----
  866. X      struct Window *w;
  867. X  {
  868. X      short i, x, y;
  869. X+ #ifdef    VIEWWINDOW
  870. X+     struct Window *vw = amii_wins[ WIN_VIEW ]->win;
  871. X+     register struct RastPort *vrp = vw->RPort;
  872. X+ #endif
  873. X+     register struct RastPort *rp = w->RPort;
  874. X  
  875. X      /* If nothing is buffered, return before we do anything */
  876. X      if(glyph_node_index == 0)
  877. X***************
  878. X*** 627,657 ****
  879. X  
  880. X      cursor_off( WIN_MAP );
  881. X      start_glyphout( WIN_MAP );
  882. X      /* Set up the drawing mode */
  883. X!     SetDrMd( w->RPort, JAM2);
  884. X  
  885. X      /* Go ahead and start dumping the stuff */
  886. X      for(i=0; i<glyph_node_index; ++i) {
  887. X      /* These coordinate calculations must be synced with the
  888. X!      * code in curs() in winami.c.  curs_on_u() calls curs()
  889. X       * to draw the cursor on top of the player
  890. X       */
  891. X!     y = w->BorderTop + (g_nodes[i].y-1) * w->RPort->TxHeight +
  892. X!         w->RPort->TxBaseline + 1;
  893. X!     x = g_nodes[i].x * w->RPort->TxWidth + w->BorderLeft;
  894. X  
  895. X      /* Move pens to correct location */
  896. X!     Move(w->RPort, (long)x, (long)y);
  897. X  
  898. X      /* Setup the colors */
  899. X!     SetAPen(w->RPort, (long)g_nodes[i].fg_color);
  900. X!     SetBPen(w->RPort, (long)g_nodes[i].bg_color);
  901. X  
  902. X      /* Do it */
  903. X!     Text(w->RPort, g_nodes[i].buffer, g_nodes[i].len);
  904. X      }
  905. X  
  906. X!     end_glyphout( WIN_MAP );
  907. X      /* Clean up */
  908. X      glyph_node_index = glyph_buffer_index = 0;
  909. X  }
  910. X--- 896,952 ----
  911. X  
  912. X      cursor_off( WIN_MAP );
  913. X      start_glyphout( WIN_MAP );
  914. X+ #ifdef    VIEWWINDOW
  915. X+     cursor_off( WIN_VIEW );
  916. X+     start_glyphout( WIN_VIEW );
  917. X+ #endif
  918. X+ 
  919. X      /* Set up the drawing mode */
  920. X!     SetDrMd( rp, JAM2);
  921. X! #ifdef    VIEWWINDOW
  922. X!     SetDrMd( vrp, JAM2);
  923. X! #endif
  924. X  
  925. X      /* Go ahead and start dumping the stuff */
  926. X      for(i=0; i<glyph_node_index; ++i) {
  927. X      /* These coordinate calculations must be synced with the
  928. X!      * code in amii_curs() in winami.c.  curs_on_u() calls amii_curs()
  929. X       * to draw the cursor on top of the player
  930. X       */
  931. X!     y = w->BorderTop + (g_nodes[i].y-1) * rp->TxHeight +
  932. X!         rp->TxBaseline + 1;
  933. X!     x = g_nodes[i].x * rp->TxWidth + w->BorderLeft;
  934. X  
  935. X      /* Move pens to correct location */
  936. X!     Move( rp, (long)x, (long)y);
  937. X  
  938. X      /* Setup the colors */
  939. X!     SetAPen( rp, (long)g_nodes[i].fg_color);
  940. X!     SetBPen( rp, (long)g_nodes[i].bg_color);
  941. X  
  942. X      /* Do it */
  943. X!     Text( rp, g_nodes[i].buffer, g_nodes[i].len);
  944. X! 
  945. X! #ifdef    VIEWWINDOW
  946. X!     y = vw->BorderTop + (g_nodes[i].y-1) * vrp->TxHeight + vrp->TxBaseline + 1;
  947. X!     x = g_nodes[i].x * vrp->TxWidth + vw->BorderLeft;
  948. X! 
  949. X!     /* Move pens to correct location */
  950. X!     Move( vrp, (long)x, (long)y);
  951. X! 
  952. X!     /* Setup the colors */
  953. X!     SetAPen( vrp, (long)g_nodes[i].fg_color);
  954. X!     SetBPen( vrp, (long)g_nodes[i].bg_color);
  955. X! 
  956. X!     /* Do it */
  957. X!     Text( vrp, g_nodes[i].buffer, g_nodes[i].len);
  958. X! #endif
  959. X      }
  960. X  
  961. X!     amii_end_glyphout( WIN_MAP );
  962. X! #ifdef    VIEWWINDOW
  963. X!     amii_end_glyphout( WIN_VIEW );
  964. X! #endif
  965. X      /* Clean up */
  966. X      glyph_node_index = glyph_buffer_index = 0;
  967. X  }
  968. X***************
  969. X*** 665,676 ****
  970. X      int color_index, glyph;
  971. X  {
  972. X      int fg_color, bg_color;
  973. X!     struct WinDesc *cw;
  974. X      struct Window *w;
  975. X      int curx;
  976. X      int cury;
  977. X  
  978. X!     if( ( cw=wins[window] ) == (struct WinDesc *)NULL )
  979. X      panic("bad winid in amiga_print_glyph: %d", window );
  980. X  
  981. X      w = cw->win;
  982. X--- 960,971 ----
  983. X      int color_index, glyph;
  984. X  {
  985. X      int fg_color, bg_color;
  986. X!     struct amii_WinDesc *cw;
  987. X      struct Window *w;
  988. X      int curx;
  989. X      int cury;
  990. X  
  991. X!     if( ( cw=amii_wins[window] ) == (struct amii_WinDesc *)NULL )
  992. X      panic("bad winid in amiga_print_glyph: %d", window );
  993. X  
  994. X      w = cw->win;
  995. X***************
  996. X*** 740,752 ****
  997. X  start_glyphout(window)
  998. X      winid window;
  999. X  {
  1000. X!     struct WinDesc *cw;
  1001. X      struct Window *w;
  1002. X  
  1003. X!     if( ( cw=wins[window] ) == (struct WinDesc *)NULL )
  1004. X      panic( "bad winid %d in start_glyphout()", window );
  1005. X  
  1006. X!     if( cw->flags & FLMAP_INGLYPH )
  1007. X      return;
  1008. X  
  1009. X      if( !(w = cw->win ) )
  1010. X--- 1035,1047 ----
  1011. X  start_glyphout(window)
  1012. X      winid window;
  1013. X  {
  1014. X!     struct amii_WinDesc *cw;
  1015. X      struct Window *w;
  1016. X  
  1017. X!     if( ( cw=amii_wins[window] ) == (struct amii_WinDesc *)NULL )
  1018. X      panic( "bad winid %d in start_glyphout()", window );
  1019. X  
  1020. X!     if( cw->wflags & FLMAP_INGLYPH )
  1021. X      return;
  1022. X  
  1023. X      if( !(w = cw->win ) )
  1024. X***************
  1025. X*** 766,772 ****
  1026. X       */
  1027. X      usecolor = flags.use_color;
  1028. X      flags.use_color = FALSE;
  1029. X!     cw->flags |= FLMAP_INGLYPH;
  1030. X  }
  1031. X  
  1032. X  /*
  1033. X--- 1061,1067 ----
  1034. X       */
  1035. X      usecolor = flags.use_color;
  1036. X      flags.use_color = FALSE;
  1037. X!     cw->wflags |= FLMAP_INGLYPH;
  1038. X  }
  1039. X  
  1040. X  /*
  1041. X***************
  1042. X*** 773,790 ****
  1043. X   * General cleanup routine -- flushes and restores cursor
  1044. X   */
  1045. X  void
  1046. X! end_glyphout(window)
  1047. X      winid window;
  1048. X  {
  1049. X!     struct WinDesc *cw;
  1050. X      struct Window *w;
  1051. X  
  1052. X!     if( ( cw = wins[ window ] ) == (struct WinDesc *)NULL )
  1053. X!     panic("bad window id %d in end_glyphout()", window );
  1054. X  
  1055. X!     if( ( cw->flags & FLMAP_INGLYPH ) == 0 )
  1056. X      return;
  1057. X!     cw->flags &= ~(FLMAP_INGLYPH);
  1058. X  
  1059. X      if( !(w = cw->win ) )
  1060. X      panic( "bad winid %d, no window ptr set", window );
  1061. X--- 1068,1085 ----
  1062. X   * General cleanup routine -- flushes and restores cursor
  1063. X   */
  1064. X  void
  1065. X! amii_end_glyphout(window)
  1066. X      winid window;
  1067. X  {
  1068. X!     struct amii_WinDesc *cw;
  1069. X      struct Window *w;
  1070. X  
  1071. X!     if( ( cw = amii_wins[ window ] ) == (struct amii_WinDesc *)NULL )
  1072. X!     panic("bad window id %d in amii_end_glyphout()", window );
  1073. X  
  1074. X!     if( ( cw->wflags & FLMAP_INGLYPH ) == 0 )
  1075. X      return;
  1076. X!     cw->wflags &= ~(FLMAP_INGLYPH);
  1077. X  
  1078. X      if( !(w = cw->win ) )
  1079. X      panic( "bad winid %d, no window ptr set", window );
  1080. X***************
  1081. X*** 866,871 ****
  1082. X--- 1161,1167 ----
  1083. X          free( sip );
  1084. X      }
  1085. X      else if( gd->GadgetType == PROPGADGET )
  1086. X+ 
  1087. X      {
  1088. X          free( (struct PropInfo *)gd->SpecialInfo );
  1089. X      }
  1090. X***************
  1091. X*** 893,899 ****
  1092. X--- 1189,1207 ----
  1093. X  int state;
  1094. X  {
  1095. X  }
  1096. X+ #endif  /* AMII_GRAPHICS */
  1097. X  
  1098. X+ #ifndef    SHAREDLIB
  1099. X+ void
  1100. X+ amiv_loadlib( void )
  1101. X+ {
  1102. X+ }
  1103. X+ 
  1104. X+ void
  1105. X+ amii_loadlib( void )
  1106. X+ {
  1107. X+ }
  1108. X+ 
  1109. X  /* fatal error */
  1110. X  /*VARARGS1*/
  1111. X  void error VA_DECL(const char *, s)
  1112. X***************
  1113. X*** 907,909 ****
  1114. X--- 1215,1218 ----
  1115. X      VA_END();
  1116. X      Abort(0L);
  1117. X  }
  1118. X+ #endif
  1119. X*** /tmp/da11848    Tue Jun  1 17:00:39 1993
  1120. X--- sys/amiga/amiwind.p    Tue Apr 13 15:41:46 1993
  1121. X***************
  1122. X*** 20,30 ****
  1123. X  void FDECL( WindowPrintf, ( char *,... ));
  1124. X  void NDECL( CleanUp );
  1125. X  int FDECL( ConvertKey, ( struct IntuiMessage * ));
  1126. X  void FDECL( Abort, (long ));
  1127. X  void FDECL( flush_glyph_buffer, (struct Window *));
  1128. X  void FDECL( amiga_print_glyph, (winid , int , int ));
  1129. X  void FDECL( start_glyphout, (winid ));
  1130. X! void FDECL( end_glyphout, (winid ));
  1131. X  #ifdef    INTUI_NEW_LOOK
  1132. X  struct ExtNewWindow *FDECL( DupNewWindow, (struct ExtNewWindow *));
  1133. X  void FDECL( FreeNewWindow, (struct ExtNewWindow *));
  1134. X--- 20,32 ----
  1135. X  void FDECL( WindowPrintf, ( char *,... ));
  1136. X  void NDECL( CleanUp );
  1137. X  int FDECL( ConvertKey, ( struct IntuiMessage * ));
  1138. X+ #ifndef    SHAREDLIB
  1139. X  void FDECL( Abort, (long ));
  1140. X+ #endif
  1141. X  void FDECL( flush_glyph_buffer, (struct Window *));
  1142. X  void FDECL( amiga_print_glyph, (winid , int , int ));
  1143. X  void FDECL( start_glyphout, (winid ));
  1144. X! void FDECL( amii_end_glyphout, (winid ));
  1145. X  #ifdef    INTUI_NEW_LOOK
  1146. X  struct ExtNewWindow *FDECL( DupNewWindow, (struct ExtNewWindow *));
  1147. X  void FDECL( FreeNewWindow, (struct ExtNewWindow *));
  1148. X***************
  1149. X*** 35,37 ****
  1150. X--- 37,40 ----
  1151. X  void NDECL( bell );
  1152. X  void NDECL( amii_delay_output );
  1153. X  void FDECL( amii_number_pad, (int ));
  1154. X+ void amii_cleanup( void );
  1155. X*** /tmp/da11864    Tue Jun  1 17:00:44 1993
  1156. X--- sys/amiga/char.c    Mon May  3 13:21:08 1993
  1157. X***************
  1158. X*** 14,23 ****
  1159. X  };
  1160. X  
  1161. X  struct IntuiText Type_IText1 = {
  1162. X!     3,0,JAM2,
  1163. X      38,1,
  1164. X      NULL,
  1165. X!     (UBYTE *)"Wizard",
  1166. X      NULL
  1167. X  };
  1168. X  
  1169. X--- 14,23 ----
  1170. X  };
  1171. X  
  1172. X  struct IntuiText Type_IText1 = {
  1173. X!     7,0,JAM2,
  1174. X      38,1,
  1175. X      NULL,
  1176. X!     "Wizard",
  1177. X      NULL
  1178. X  };
  1179. X  
  1180. X***************
  1181. X*** 53,62 ****
  1182. X  };
  1183. X  
  1184. X  struct IntuiText Type_IText2 = {
  1185. X!     3,0,JAM2,
  1186. X      29,1,
  1187. X      NULL,
  1188. X!     (UBYTE *)"Valkyrie",
  1189. X      NULL
  1190. X  };
  1191. X  
  1192. X--- 53,62 ----
  1193. X  };
  1194. X  
  1195. X  struct IntuiText Type_IText2 = {
  1196. X!     7,0,JAM2,
  1197. X      29,1,
  1198. X      NULL,
  1199. X!     "Valkyrie",
  1200. X      NULL
  1201. X  };
  1202. X  
  1203. X***************
  1204. X*** 95,101 ****
  1205. X      1,0,JAM2,
  1206. X      14,1,
  1207. X      NULL,
  1208. X!     (UBYTE *)"Pick a Random Character Type",
  1209. X      NULL
  1210. X  };
  1211. X  
  1212. X--- 95,101 ----
  1213. X      1,0,JAM2,
  1214. X      14,1,
  1215. X      NULL,
  1216. X!     "Pick a Random Character Type",
  1217. X      NULL
  1218. X  };
  1219. X  
  1220. X***************
  1221. X*** 131,140 ****
  1222. X  };
  1223. X  
  1224. X  struct IntuiText Type_IText4 = {
  1225. X!     3,0,JAM2,
  1226. X      33,1,
  1227. X      NULL,
  1228. X!     (UBYTE *)"Samurai",
  1229. X      NULL
  1230. X  };
  1231. X  
  1232. X--- 131,140 ----
  1233. X  };
  1234. X  
  1235. X  struct IntuiText Type_IText4 = {
  1236. X!     7,0,JAM2,
  1237. X      33,1,
  1238. X      NULL,
  1239. X!     "Samurai",
  1240. X      NULL
  1241. X  };
  1242. X  
  1243. X***************
  1244. X*** 170,179 ****
  1245. X  };
  1246. X  
  1247. X  struct IntuiText Type_IText5 = {
  1248. X!     3,0,JAM2,
  1249. X      34,1,
  1250. X      NULL,
  1251. X!     (UBYTE *)"Tourist",
  1252. X      NULL
  1253. X  };
  1254. X  
  1255. X--- 170,179 ----
  1256. X  };
  1257. X  
  1258. X  struct IntuiText Type_IText5 = {
  1259. X!     7,0,JAM2,
  1260. X      34,1,
  1261. X      NULL,
  1262. X!     "Tourist",
  1263. X      NULL
  1264. X  };
  1265. X  
  1266. X***************
  1267. X*** 209,218 ****
  1268. X  };
  1269. X  
  1270. X  struct IntuiText Type_IText6 = {
  1271. X!     3,0,JAM2,
  1272. X      40,1,
  1273. X      NULL,
  1274. X!     (UBYTE *)"Rogue",
  1275. X      NULL
  1276. X  };
  1277. X  
  1278. X--- 209,218 ----
  1279. X  };
  1280. X  
  1281. X  struct IntuiText Type_IText6 = {
  1282. X!     7,0,JAM2,
  1283. X      40,1,
  1284. X      NULL,
  1285. X!     "Rogue",
  1286. X      NULL
  1287. X  };
  1288. X  
  1289. X***************
  1290. X*** 248,257 ****
  1291. X  };
  1292. X  
  1293. X  struct IntuiText Type_IText7 = {
  1294. X!     3,0,JAM2,
  1295. X      36,1,
  1296. X      NULL,
  1297. X!     (UBYTE *)"Priest",
  1298. X      NULL
  1299. X  };
  1300. X  
  1301. X--- 248,257 ----
  1302. X  };
  1303. X  
  1304. X  struct IntuiText Type_IText7 = {
  1305. X!     7,0,JAM2,
  1306. X      36,1,
  1307. X      NULL,
  1308. X!     "Priest",
  1309. X      NULL
  1310. X  };
  1311. X  
  1312. X***************
  1313. X*** 287,296 ****
  1314. X  };
  1315. X  
  1316. X  struct IntuiText Type_IText8 = {
  1317. X!     3,0,JAM2,
  1318. X      35,1,
  1319. X      NULL,
  1320. X!     (UBYTE *)"Healer",
  1321. X      NULL
  1322. X  };
  1323. X  
  1324. X--- 287,296 ----
  1325. X  };
  1326. X  
  1327. X  struct IntuiText Type_IText8 = {
  1328. X!     7,0,JAM2,
  1329. X      35,1,
  1330. X      NULL,
  1331. X!     "Healer",
  1332. X      NULL
  1333. X  };
  1334. X  
  1335. X***************
  1336. X*** 326,335 ****
  1337. X  };
  1338. X  
  1339. X  struct IntuiText Type_IText9 = {
  1340. X!     3,0,JAM2,
  1341. X      33,1,
  1342. X      NULL,
  1343. X!     (UBYTE *)"Caveman",
  1344. X      NULL
  1345. X  };
  1346. X  
  1347. X--- 326,335 ----
  1348. X  };
  1349. X  
  1350. X  struct IntuiText Type_IText9 = {
  1351. X!     7,0,JAM2,
  1352. X      33,1,
  1353. X      NULL,
  1354. X!     "Caveman",
  1355. X      NULL
  1356. X  };
  1357. X  
  1358. X***************
  1359. X*** 365,374 ****
  1360. X  };
  1361. X  
  1362. X  struct IntuiText Type_IText10 = {
  1363. X!     3,0,JAM2,
  1364. X      16,1,
  1365. X      NULL,
  1366. X!     (UBYTE *)"Archeologist",
  1367. X      NULL
  1368. X  };
  1369. X  
  1370. X--- 365,374 ----
  1371. X  };
  1372. X  
  1373. X  struct IntuiText Type_IText10 = {
  1374. X!     7,0,JAM2,
  1375. X      16,1,
  1376. X      NULL,
  1377. X!     "Archeologist",
  1378. X      NULL
  1379. X  };
  1380. X  
  1381. X***************
  1382. X*** 404,413 ****
  1383. X  };
  1384. X  
  1385. X  struct IntuiText Type_IText11 = {
  1386. X!     3,0,JAM2,
  1387. X      36,1,
  1388. X      NULL,
  1389. X!     (UBYTE *)"Knight",
  1390. X      NULL
  1391. X  };
  1392. X  
  1393. X--- 404,413 ----
  1394. X  };
  1395. X  
  1396. X  struct IntuiText Type_IText11 = {
  1397. X!     7,0,JAM2,
  1398. X      36,1,
  1399. X      NULL,
  1400. X!     "Knight",
  1401. X      NULL
  1402. X  };
  1403. X  
  1404. X***************
  1405. X*** 443,452 ****
  1406. X  };
  1407. X  
  1408. X  struct IntuiText Type_IText12 = {
  1409. X!     3,0,JAM2,
  1410. X      48,1,
  1411. X      NULL,
  1412. X!     (UBYTE *)"Elf",
  1413. X      NULL
  1414. X  };
  1415. X  
  1416. X--- 443,452 ----
  1417. X  };
  1418. X  
  1419. X  struct IntuiText Type_IText12 = {
  1420. X!     7,0,JAM2,
  1421. X      48,1,
  1422. X      NULL,
  1423. X!     "Elf",
  1424. X      NULL
  1425. X  };
  1426. X  
  1427. X***************
  1428. X*** 482,491 ****
  1429. X  };
  1430. X  
  1431. X  struct IntuiText Type_IText13 = {
  1432. X!     3,0,JAM2,
  1433. X      27,1,
  1434. X      NULL,
  1435. X!     (UBYTE *)"Barbarian",
  1436. X      NULL
  1437. X  };
  1438. X  
  1439. X--- 482,491 ----
  1440. X  };
  1441. X  
  1442. X  struct IntuiText Type_IText13 = {
  1443. X!     7,0,JAM2,
  1444. X      27,1,
  1445. X      NULL,
  1446. X!     "Barbarian",
  1447. X      NULL
  1448. X  };
  1449. X  
  1450. X***************
  1451. X*** 515,521 ****
  1452. X      WINDOWCLOSE+ACTIVATE+NOCAREREFRESH,
  1453. X      &Type_Gadget1,
  1454. X      NULL,
  1455. X!     (UBYTE *)"Pick a Character",
  1456. X      NULL,
  1457. X      NULL,
  1458. X      5,5,
  1459. X--- 515,521 ----
  1460. X      WINDOWCLOSE+ACTIVATE+NOCAREREFRESH,
  1461. X      &Type_Gadget1,
  1462. X      NULL,
  1463. X!     "Pick a Character",
  1464. X      NULL,
  1465. X      NULL,
  1466. X      5,5,
  1467. X*** /tmp/da11888    Tue Jun  1 17:00:50 1993
  1468. X--- sys/amiga/colorwin.c    Wed May 19 10:07:49 1993
  1469. X***************
  1470. X*** 15,21 ****
  1471. X  };
  1472. X  
  1473. X  struct IntuiText Col_IText1 = {
  1474. X!     3,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1475. X      13,1,    /* XY origin relative to container TopLeft */
  1476. X      NULL,    /* font pointer or NULL for default */
  1477. X      "Save",    /* pointer to text */
  1478. X--- 15,21 ----
  1479. X  };
  1480. X  
  1481. X  struct IntuiText Col_IText1 = {
  1482. X!     7,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1483. X      13,1,    /* XY origin relative to container TopLeft */
  1484. X      NULL,    /* font pointer or NULL for default */
  1485. X      "Save",    /* pointer to text */
  1486. X***************
  1487. X*** 54,60 ****
  1488. X  };
  1489. X  
  1490. X  struct IntuiText Col_IText2 = {
  1491. X!     3,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1492. X      17,1,    /* XY origin relative to container TopLeft */
  1493. X      NULL,    /* font pointer or NULL for default */
  1494. X      "Use",    /* pointer to text */
  1495. X--- 54,60 ----
  1496. X  };
  1497. X  
  1498. X  struct IntuiText Col_IText2 = {
  1499. X!     7,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1500. X      17,1,    /* XY origin relative to container TopLeft */
  1501. X      NULL,    /* font pointer or NULL for default */
  1502. X      "Use",    /* pointer to text */
  1503. X***************
  1504. X*** 63,69 ****
  1505. X  
  1506. X  struct Gadget Col_Okay = {
  1507. X      &Col_Save,    /* next gadget */
  1508. X!     117,77,    /* origin XY of hit box relative to window TopLeft */
  1509. X      58,11,    /* hit box width and height */
  1510. X      NULL,    /* gadget flags */
  1511. X      RELVERIFY,    /* activation flags */
  1512. X--- 63,69 ----
  1513. X  
  1514. X  struct Gadget Col_Okay = {
  1515. X      &Col_Save,    /* next gadget */
  1516. X!     128,77,    /* origin XY of hit box relative to window TopLeft */
  1517. X      58,11,    /* hit box width and height */
  1518. X      NULL,    /* gadget flags */
  1519. X      RELVERIFY,    /* activation flags */
  1520. X***************
  1521. X*** 93,99 ****
  1522. X  };
  1523. X  
  1524. X  struct IntuiText Col_IText3 = {
  1525. X!     3,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1526. X      6,1,    /* XY origin relative to container TopLeft */
  1527. X      NULL,    /* font pointer or NULL for default */
  1528. X      "Cancel",    /* pointer to text */
  1529. X--- 93,99 ----
  1530. X  };
  1531. X  
  1532. X  struct IntuiText Col_IText3 = {
  1533. X!     7,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1534. X      6,1,    /* XY origin relative to container TopLeft */
  1535. X      NULL,    /* font pointer or NULL for default */
  1536. X      "Cancel",    /* pointer to text */
  1537. X***************
  1538. X*** 102,108 ****
  1539. X  
  1540. X  struct Gadget Col_Cancel = {
  1541. X      &Col_Okay,    /* next gadget */
  1542. X!     218,77,    /* origin XY of hit box relative to window TopLeft */
  1543. X      58,11,    /* hit box width and height */
  1544. X      NULL,    /* gadget flags */
  1545. X      RELVERIFY,    /* activation flags */
  1546. X--- 102,108 ----
  1547. X  
  1548. X  struct Gadget Col_Cancel = {
  1549. X      &Col_Okay,    /* next gadget */
  1550. X!     244,77,    /* origin XY of hit box relative to window TopLeft */
  1551. X      58,11,    /* hit box width and height */
  1552. X      NULL,    /* gadget flags */
  1553. X      RELVERIFY,    /* activation flags */
  1554. X***************
  1555. X*** 133,139 ****
  1556. X  
  1557. X  struct Gadget Col_RedPen = {
  1558. X      &Col_Cancel,    /* next gadget */
  1559. X!     7,12,    /* origin XY of hit box relative to window TopLeft */
  1560. X      271,11,    /* hit box width and height */
  1561. X      NULL,    /* gadget flags */
  1562. X      RELVERIFY+GADGIMMEDIATE+FOLLOWMOUSE,    /* activation flags */
  1563. X--- 133,139 ----
  1564. X  
  1565. X  struct Gadget Col_RedPen = {
  1566. X      &Col_Cancel,    /* next gadget */
  1567. X!     32,12,    /* origin XY of hit box relative to window TopLeft */
  1568. X      271,11,    /* hit box width and height */
  1569. X      NULL,    /* gadget flags */
  1570. X      RELVERIFY+GADGIMMEDIATE+FOLLOWMOUSE,    /* activation flags */
  1571. X***************
  1572. X*** 164,170 ****
  1573. X  
  1574. X  struct Gadget Col_GreenPen = {
  1575. X      &Col_RedPen,    /* next gadget */
  1576. X!     7,24,    /* origin XY of hit box relative to window TopLeft */
  1577. X      271,11,    /* hit box width and height */
  1578. X      NULL,    /* gadget flags */
  1579. X      RELVERIFY+GADGIMMEDIATE+FOLLOWMOUSE,    /* activation flags */
  1580. X--- 164,170 ----
  1581. X  
  1582. X  struct Gadget Col_GreenPen = {
  1583. X      &Col_RedPen,    /* next gadget */
  1584. X!     32,24,    /* origin XY of hit box relative to window TopLeft */
  1585. X      271,11,    /* hit box width and height */
  1586. X      NULL,    /* gadget flags */
  1587. X      RELVERIFY+GADGIMMEDIATE+FOLLOWMOUSE,    /* activation flags */
  1588. X***************
  1589. X*** 195,201 ****
  1590. X  
  1591. X  struct Gadget Col_BluePen = {
  1592. X      &Col_GreenPen,    /* next gadget */
  1593. X!     7,36,    /* origin XY of hit box relative to window TopLeft */
  1594. X      271,11,    /* hit box width and height */
  1595. X      NULL,    /* gadget flags */
  1596. X      RELVERIFY+GADGIMMEDIATE+FOLLOWMOUSE,    /* activation flags */
  1597. X--- 195,201 ----
  1598. X  
  1599. X  struct Gadget Col_BluePen = {
  1600. X      &Col_GreenPen,    /* next gadget */
  1601. X!     32,36,    /* origin XY of hit box relative to window TopLeft */
  1602. X      271,11,    /* hit box width and height */
  1603. X      NULL,    /* gadget flags */
  1604. X      RELVERIFY+GADGIMMEDIATE+FOLLOWMOUSE,    /* activation flags */
  1605. X***************
  1606. X*** 211,219 ****
  1607. X  
  1608. X  #define Col_GadgetList1 Col_BluePen
  1609. X  
  1610. X  struct NewWindow Col_NewWindowStructure1 = {
  1611. X      175,45,    /* window XY origin relative to TopLeft of screen */
  1612. X!     284,93,    /* window width and height */
  1613. X      0,1,    /* detail and block pens */
  1614. X      MOUSEBUTTONS+MOUSEMOVE+GADGETDOWN+GADGETUP+CLOSEWINDOW+VANILLAKEY+INTUITICKS,    /* IDCMP flags */
  1615. X      WINDOWDRAG+WINDOWDEPTH+WINDOWCLOSE+ACTIVATE+NOCAREREFRESH,    /* other window flags */
  1616. X--- 211,245 ----
  1617. X  
  1618. X  #define Col_GadgetList1 Col_BluePen
  1619. X  
  1620. X+ struct IntuiText Col_IText6 = {
  1621. X+     3,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1622. X+     17,38,    /* XY origin relative to container TopLeft */
  1623. X+     NULL,    /* font pointer or NULL for default */
  1624. X+     "B",    /* pointer to text */
  1625. X+     NULL    /* next IntuiText structure */
  1626. X+ };
  1627. X+ 
  1628. X+ struct IntuiText Col_IText5 = {
  1629. X+     4,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1630. X+     16,26,    /* XY origin relative to container TopLeft */
  1631. X+     NULL,    /* font pointer or NULL for default */
  1632. X+     "G",    /* pointer to text */
  1633. X+     &Col_IText6    /* next IntuiText structure */
  1634. X+ };
  1635. X+ 
  1636. X+ struct IntuiText Col_IText4 = {
  1637. X+     7,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1638. X+     16,14,    /* XY origin relative to container TopLeft */
  1639. X+     NULL,    /* font pointer or NULL for default */
  1640. X+     "R",    /* pointer to text */
  1641. X+     &Col_IText5    /* next IntuiText structure */
  1642. X+ };
  1643. X+ 
  1644. X+ #define Col_IntuiTextList1 Col_IText4
  1645. X+ 
  1646. X  struct NewWindow Col_NewWindowStructure1 = {
  1647. X      175,45,    /* window XY origin relative to TopLeft of screen */
  1648. X!     312,93,    /* window width and height */
  1649. X      0,1,    /* detail and block pens */
  1650. X      MOUSEBUTTONS+MOUSEMOVE+GADGETDOWN+GADGETUP+CLOSEWINDOW+VANILLAKEY+INTUITICKS,    /* IDCMP flags */
  1651. X      WINDOWDRAG+WINDOWDEPTH+WINDOWCLOSE+ACTIVATE+NOCAREREFRESH,    /* other window flags */
  1652. X*** /tmp/da11912    Tue Jun  1 17:00:55 1993
  1653. X--- sys/amiga/hackwb.hlp    Mon May  3 13:35:05 1993
  1654. X***************
  1655. X*** 22,35 ****
  1656. X   Top Scores  - View the score file.
  1657. X   Recover     - Recover a game which was interrupted by a
  1658. X                 GURU, Software Failure, or other disaster.
  1659. X-  Edit Default Game - The file wbdefaults.def is always
  1660. X-                loaded to provide the default ToolTypes
  1661. X-                information for the NewGame icon (specifying
  1662. X-                options, character name and character type).
  1663. X-                The window opened by this selection allows
  1664. X-                you to edit this information as well as
  1665. X-                create new "games" by changing wbdefaults to
  1666. X-                a different name and using save/load.
  1667. X   Edit Configuration - The string data in nethack.cnf can be
  1668. X                 edited saved and loaded using the requester
  1669. X                 opened by this selection.
  1670. X--- 22,27 ----
  1671. X***************
  1672. X*** 40,51 ****
  1673. X                 Game Configuration  gadget lets you change
  1674. X                 the options that "Edit Default Game" let you
  1675. X                 enter.  
  1676. X!  Change Comment  - Lets you set a comment string for the
  1677. X!                save file.
  1678. X!  Set Options - takes you directly to the options editing
  1679. X!                requester.
  1680. X!  Copy Options - Creates a new icon with the same options as
  1681. X!                the selected game.  The new Icon has no saved
  1682. X                 game associated with it.
  1683. X   Discard     - Deletes the icon and any saved game
  1684. X                 associated with it.
  1685. X--- 32,39 ----
  1686. X                 Game Configuration  gadget lets you change
  1687. X                 the options that "Edit Default Game" let you
  1688. X                 enter.  
  1689. X!  Copy Info   - Creates a new icon with the same tooltypes as
  1690. X!                the selected icon.  The new icon has no saved
  1691. X                 game associated with it.
  1692. X   Discard     - Deletes the icon and any saved game
  1693. X                 associated with it.
  1694. X*** /tmp/da11928    Tue Jun  1 17:00:59 1993
  1695. X--- sys/amiga/randwin.c    Tue May 11 10:08:45 1993
  1696. X***************
  1697. X*** 15,21 ****
  1698. X  };
  1699. X  
  1700. X  struct IntuiText Rnd_IText1 = {
  1701. X!     3,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1702. X      8,5,    /* XY origin relative to container TopLeft */
  1703. X      NULL,    /* font pointer or NULL for default */
  1704. X      "OKAY",    /* pointer to text */
  1705. X--- 15,21 ----
  1706. X  };
  1707. X  
  1708. X  struct IntuiText Rnd_IText1 = {
  1709. X!     7,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1710. X      8,5,    /* XY origin relative to container TopLeft */
  1711. X      NULL,    /* font pointer or NULL for default */
  1712. X      "OKAY",    /* pointer to text */
  1713. X***************
  1714. X*** 41,47 ****
  1715. X  #define Rnd_GadgetList1 Rnd_Gadget1
  1716. X  
  1717. X  struct IntuiText Rnd_IText6 = {
  1718. X!     3,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1719. X      198,29,    /* XY origin relative to container TopLeft */
  1720. X      NULL,    /* font pointer or NULL for default */
  1721. X      "a",    /* pointer to text */
  1722. X--- 41,47 ----
  1723. X  #define Rnd_GadgetList1 Rnd_Gadget1
  1724. X  
  1725. X  struct IntuiText Rnd_IText6 = {
  1726. X!     6,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1727. X      198,29,    /* XY origin relative to container TopLeft */
  1728. X      NULL,    /* font pointer or NULL for default */
  1729. X      "a",    /* pointer to text */
  1730. X***************
  1731. X*** 57,63 ****
  1732. X  };
  1733. X  
  1734. X  struct IntuiText Rnd_IText4 = {
  1735. X!     3,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1736. X      25,29,    /* XY origin relative to container TopLeft */
  1737. X      NULL,    /* font pointer or NULL for default */
  1738. X      "exciting game playing as",    /* pointer to text */
  1739. X--- 57,63 ----
  1740. X  };
  1741. X  
  1742. X  struct IntuiText Rnd_IText4 = {
  1743. X!     6,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1744. X      25,29,    /* XY origin relative to container TopLeft */
  1745. X      NULL,    /* font pointer or NULL for default */
  1746. X      "exciting game playing as",    /* pointer to text */
  1747. X***************
  1748. X*** 65,71 ****
  1749. X  };
  1750. X  
  1751. X  struct IntuiText Rnd_IText3 = {
  1752. X!     3,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1753. X      15,18,    /* XY origin relative to container TopLeft */
  1754. X      NULL,    /* font pointer or NULL for default */
  1755. X      "I think that you will have an",    /* pointer to text */
  1756. X--- 65,71 ----
  1757. X  };
  1758. X  
  1759. X  struct IntuiText Rnd_IText3 = {
  1760. X!     6,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1761. X      15,18,    /* XY origin relative to container TopLeft */
  1762. X      NULL,    /* font pointer or NULL for default */
  1763. X      "I think that you will have an",    /* pointer to text */
  1764. X***************
  1765. X*** 73,82 ****
  1766. X  };
  1767. X  
  1768. X  struct IntuiText Rnd_IText2 = {
  1769. X!     3,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1770. X      7,6,    /* XY origin relative to container TopLeft */
  1771. X      NULL,    /* font pointer or NULL for default */
  1772. X!     "You asked for a random Character,",    /* pointer to text */
  1773. X      &Rnd_IText3    /* next IntuiText structure */
  1774. X  };
  1775. X  
  1776. X--- 73,82 ----
  1777. X  };
  1778. X  
  1779. X  struct IntuiText Rnd_IText2 = {
  1780. X!     6,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1781. X      7,6,    /* XY origin relative to container TopLeft */
  1782. X      NULL,    /* font pointer or NULL for default */
  1783. X!     "You asked for a random Character.",    /* pointer to text */
  1784. X      &Rnd_IText3    /* next IntuiText structure */
  1785. X  };
  1786. X  
  1787. X*** /tmp/da11976    Tue Jun  1 17:01:20 1993
  1788. X--- sys/amiga/wbdata.c    Thu May  6 11:25:53 1993
  1789. X***************
  1790. X*** 11,20 ****
  1791. X  char *classes = "ABCEHKPRSTVW";
  1792. X  struct TmpRas tmpras;
  1793. X  
  1794. X! DEFAULTS  defgame =
  1795. X  {
  1796. X!     PL_RANDOM,
  1797. X!     NULL, NULL,
  1798. X  };
  1799. X  
  1800. X  OPTIONS curopts[] =
  1801. X--- 11,45 ----
  1802. X  char *classes = "ABCEHKPRSTVW";
  1803. X  struct TmpRas tmpras;
  1804. X  
  1805. X! UWORD __chip waitPointer[] =
  1806. X  {
  1807. X!     0x0000,0x0000,
  1808. X! 
  1809. X!     0x0400,0x07c0,
  1810. X!     0x0000,0x07c0,
  1811. X! 
  1812. X!     0x0100,0x0380,
  1813. X!     0x0000,0x07e0,
  1814. X! 
  1815. X!     0x07c0,0x1ff8,
  1816. X!     0x1ff0,0x3fec,
  1817. X! 
  1818. X!     0x3ff8,0x7fde,
  1819. X!     0x3ff8,0x7fbe,
  1820. X! 
  1821. X!     0x7ffc,0xff7f,
  1822. X!     0x7efc,0xffff,
  1823. X! 
  1824. X!     0x7ffc,0xffff,
  1825. X!     0x3ff8,0x7ffe,
  1826. X! 
  1827. X!     0x3ff8,0x7ffe,
  1828. X!     0x1ff0,0x3ffc,
  1829. X! 
  1830. X!     0x07c0,0x1ff8,
  1831. X!     0x0000,0x07e0,
  1832. X! 
  1833. X!     0x0000,0x0000,
  1834. X  };
  1835. X  
  1836. X  OPTIONS curopts[] =
  1837. X***************
  1838. X*** 32,40 ****
  1839. X      { 0, 1, "legacy", NULL, GADOLEGACY, },
  1840. X      { 0, 0, "lit_corridor", NULL, GADOLITCORRIDOR, },
  1841. X      { 0, 1, "news", NULL, GADONEWS, },
  1842. X!     { 0, 0, "numberpad", NULL, GADONUMBERPAD, },
  1843. X      { 0, 1, "null", NULL, GADONULL, },
  1844. X!     { 0, 1, "pickup", NULL, GADOPICKUP, },
  1845. X      { 0, 0, "rest_on_space", NULL, GADORESTONSPACE, },
  1846. X      { 0, 1, "safepet", NULL, GADOSAFEPET, },
  1847. X      { 0, 0, "showexp", NULL, GADOSHOWEXP, },
  1848. X--- 57,65 ----
  1849. X      { 0, 1, "legacy", NULL, GADOLEGACY, },
  1850. X      { 0, 0, "lit_corridor", NULL, GADOLITCORRIDOR, },
  1851. X      { 0, 1, "news", NULL, GADONEWS, },
  1852. X!     { 0, 0, "number_pad", NULL, GADONUMBERPAD, },
  1853. X      { 0, 1, "null", NULL, GADONULL, },
  1854. X!     { 0, 1, "autopickup", NULL, GADOPICKUP, },
  1855. X      { 0, 0, "rest_on_space", NULL, GADORESTONSPACE, },
  1856. X      { 0, 1, "safepet", NULL, GADOSAFEPET, },
  1857. X      { 0, 0, "showexp", NULL, GADOSHOWEXP, },
  1858. X***************
  1859. X*** 46,52 ****
  1860. X      { 0, 0, "time", NULL, GADOTIME, },
  1861. X      { 0, 1, "tombstone", NULL, GADOTOMBSTONE, },
  1862. X      { 0, 1, "verbose", NULL, GADOVERBOSE, },
  1863. X!     { 0, 0, "asksave", NULL, GADOASKSAVE, },
  1864. X      { 0, 0, "packorder", "", GADOPACKORDER, },
  1865. X      { 0, 0, "dogname", "", GADODOGNAME, },
  1866. X      { 0, 0, "catname", "", GADOCATNAME, },
  1867. X--- 71,84 ----
  1868. X      { 0, 0, "time", NULL, GADOTIME, },
  1869. X      { 0, 1, "tombstone", NULL, GADOTOMBSTONE, },
  1870. X      { 0, 1, "verbose", NULL, GADOVERBOSE, },
  1871. X!     { 0, 0, "asksavedisk", NULL, GADOASKSAVE, },
  1872. X!     { 0, 0, "name", "", GADONAME, },
  1873. X!     { 0, 0, "score", "", GADOSCORE, },
  1874. X!     { 0, 0, "palette", "", GADOPALETTE, },
  1875. X!     { 0, 0, "windowtype", "", GADOWINDOWTYPE, },
  1876. X!     { 0, 0, "msghistory", "", GADOMSGHISTORY, },
  1877. X!     { 0, 0, "pickup_types", "", GADOPICKUPTYPES, },
  1878. X!     { 0, 0, "pettype", "", GADOPETTYPE, },
  1879. X      { 0, 0, "packorder", "", GADOPACKORDER, },
  1880. X      { 0, 0, "dogname", "", GADODOGNAME, },
  1881. X      { 0, 0, "catname", "", GADOCATNAME, },
  1882. X***************
  1883. X*** 102,107 ****
  1884. X--- 134,174 ----
  1885. X  
  1886. X  };
  1887. X  
  1888. X+ USHORT __chip tall_up_renderdata[] = {
  1889. X+ /* Plane 0 */
  1890. X+    0xfff0,
  1891. X+    0x8700,
  1892. X+    0x8700,
  1893. X+    0x8700,
  1894. X+    0x8f80,
  1895. X+    0x8f80,
  1896. X+    0xbfe0,
  1897. X+    0xbfe0,
  1898. X+    0xbfe0,
  1899. X+    0x8000,
  1900. X+ 
  1901. X+ /* Plane 1 */
  1902. X+    0x0008,
  1903. X+    0x0708,
  1904. X+    0x0708,
  1905. X+    0x0708,
  1906. X+    0x0f88,
  1907. X+    0x0f88,
  1908. X+    0x3fe8,
  1909. X+    0x3fe8,
  1910. X+    0x3fe8,
  1911. X+    0x7ff8,
  1912. X+ 
  1913. X+ };
  1914. X+ 
  1915. X+ struct Image tall_up_renderimage = {
  1916. X+    0, 0,
  1917. X+    13, 10, 2,
  1918. X+    tall_up_renderdata,
  1919. X+    3,0,
  1920. X+    NULL,
  1921. X+ };
  1922. X+ 
  1923. X  struct Image up_renderimage = {
  1924. X     0, 0,
  1925. X     13, 5, 2,
  1926. X***************
  1927. X*** 110,120 ****
  1928. X     NULL,
  1929. X  };
  1930. X  
  1931. X  USHORT __chip up_selectdata[] = {
  1932. X  /* Plane 0 */
  1933. X!    0x0008, 0x78f8, 0x7078, 0x4018, 0xfff8,
  1934. X  /* Plane 1 */
  1935. X!    0xfff0, 0xf8f0, 0xf070, 0xc010, 0x0000,
  1936. X  };
  1937. X  
  1938. X  struct Image up_selectimage = {
  1939. X--- 177,220 ----
  1940. X     NULL,
  1941. X  };
  1942. X  
  1943. X+ USHORT __chip tall_up_selectdata[] = {
  1944. X+ /* Plane 0 */
  1945. X+    0x0008,
  1946. X+    0x78f8,
  1947. X+    0x78f8,
  1948. X+    0x78f8,
  1949. X+    0x7078,
  1950. X+    0x7078,
  1951. X+    0x4018,
  1952. X+    0x4018,
  1953. X+    0x4018,
  1954. X+    0xfff8,
  1955. X+ /* Plane 1 */
  1956. X+    0xfff0,
  1957. X+    0xf8f0,
  1958. X+    0xf8f0,
  1959. X+    0xf8f0,
  1960. X+    0xf070,
  1961. X+    0xf070,
  1962. X+    0xc010,
  1963. X+    0xc010,
  1964. X+    0xc010,
  1965. X+    0x0000,
  1966. X+ };
  1967. X+ 
  1968. X  USHORT __chip up_selectdata[] = {
  1969. X  /* Plane 0 */
  1970. X!    0x0008,
  1971. X!    0x78f8,
  1972. X!    0x7078,
  1973. X!    0x4018,
  1974. X!    0xfff8,
  1975. X  /* Plane 1 */
  1976. X!    0xfff0,
  1977. X!    0xf8f0,
  1978. X!    0xf070,
  1979. X!    0xc010,
  1980. X!    0x0000,
  1981. X  };
  1982. X  
  1983. X  struct Image up_selectimage = {
  1984. X***************
  1985. X*** 125,130 ****
  1986. X--- 225,238 ----
  1987. X     NULL,
  1988. X  };
  1989. X  
  1990. X+ struct Image tall_up_selectimage = {
  1991. X+    0, 0,
  1992. X+    13, 10, 2,
  1993. X+    tall_up_selectdata,
  1994. X+    3,0,
  1995. X+    NULL,
  1996. X+ };
  1997. X+ 
  1998. X  USHORT __chip down_renderdata[] = {
  1999. X  /* Plane 0 */
  2000. X     0xfff0,
  2001. X***************
  2002. X*** 142,147 ****
  2003. X--- 250,289 ----
  2004. X  
  2005. X  };
  2006. X  
  2007. X+ USHORT __chip tall_down_renderdata[] = {
  2008. X+ /* Plane 0 */
  2009. X+    0xfff0,
  2010. X+    0xbfe0,
  2011. X+    0xbfe0,
  2012. X+    0xbfe0,
  2013. X+    0x8f80,
  2014. X+    0x8f80,
  2015. X+    0x8700,
  2016. X+    0x8700,
  2017. X+    0x8700,
  2018. X+    0x8000,
  2019. X+ 
  2020. X+ /* Plane 1 */
  2021. X+    0x0008,
  2022. X+    0x3fe8,
  2023. X+    0x3fe8,
  2024. X+    0x3fe8,
  2025. X+    0x0f88,
  2026. X+    0x0f88,
  2027. X+    0x0708,
  2028. X+    0x0708,
  2029. X+    0x0708,
  2030. X+    0x7ff8,
  2031. X+ };
  2032. X+ 
  2033. X+ struct Image tall_down_renderimage = {
  2034. X+    0, 0,
  2035. X+    13, 10, 2,
  2036. X+    tall_down_renderdata,
  2037. X+    3,0,
  2038. X+    NULL,
  2039. X+ };
  2040. X+ 
  2041. X  struct Image down_renderimage = {
  2042. X     0, 0,
  2043. X     13, 5, 2,
  2044. X***************
  2045. X*** 152,160 ****
  2046. X  
  2047. X  USHORT __chip down_selectdata[] = {
  2048. X  /* Plane 0 */
  2049. X!    0x0008, 0x4018, 0x7078, 0x78f8, 0x7ff8,
  2050. X  /* Plane 1 */
  2051. X!    0xfff0, 0xc010, 0xf070, 0xf8f0, 0x8000,
  2052. X  };
  2053. X  
  2054. X  struct Image down_selectimage = {
  2055. X--- 294,343 ----
  2056. X  
  2057. X  USHORT __chip down_selectdata[] = {
  2058. X  /* Plane 0 */
  2059. X!    0x0008,
  2060. X!    0x4018,
  2061. X!    0x7078,
  2062. X!    0x78f8,
  2063. X!    0x7ff8,
  2064. X  /* Plane 1 */
  2065. X!    0xfff0,
  2066. X!    0xc010,
  2067. X!    0xf070,
  2068. X!    0xf8f0,
  2069. X!    0x8000,
  2070. X! };
  2071. X! 
  2072. X! USHORT __chip tall_down_selectdata[] = {
  2073. X! /* Plane 0 */
  2074. X!    0x0008,
  2075. X!    0x4018,
  2076. X!    0x4018,
  2077. X!    0x4018,
  2078. X!    0x7078,
  2079. X!    0x7078,
  2080. X!    0x78f8,
  2081. X!    0x78f8,
  2082. X!    0x78f8,
  2083. X!    0x7ff8,
  2084. X! /* Plane 1 */
  2085. X!    0xfff0,
  2086. X!    0xc010,
  2087. X!    0xc010,
  2088. X!    0xc010,
  2089. X!    0xf070,
  2090. X!    0xf070,
  2091. X!    0xf8f0,
  2092. X!    0xf8f0,
  2093. X!    0xf8f0,
  2094. X!    0x8000,
  2095. X! };
  2096. X! 
  2097. X! struct Image tall_down_selectimage = {
  2098. X!    0, 0,
  2099. X!    13, 10, 2,
  2100. X!    tall_down_selectdata,
  2101. X!    3,0,
  2102. X!    NULL,
  2103. X  };
  2104. X  
  2105. X  struct Image down_selectimage = {
  2106. X*** /tmp/da11984    Tue Jun  1 17:01:22 1993
  2107. X--- sys/amiga/wbdefs.h    Thu May  6 11:25:57 1993
  2108. X***************
  2109. X*** 43,60 ****
  2110. X  #define ITEM_ABOUT    1
  2111. X  #define ITEM_SCORES    2
  2112. X  #define ITEM_RECOVER    3
  2113. X! /*#define ITEM_EDNEW        4*/
  2114. X! #define ITEM_EDDEF    4
  2115. X! #define ITEM_CONFIG    5
  2116. X! #define ITEM_QUIT    6
  2117. X  
  2118. X  #define MENU_GAME    1
  2119. X  #define ITEM_INFO    0
  2120. X! #define ITEM_SETCOMMENT    1
  2121. X! #define ITEM_SETOPT    2
  2122. X! #define ITEM_COPYOPT    3
  2123. X! #define ITEM_DISCARD    4
  2124. X! #define ITEM_RENAME    5
  2125. X  
  2126. X  #define GADSCROLL    1   /* The scroll bar */
  2127. X  #define GADNEWGAME    2   /* New Game requested */
  2128. X--- 43,56 ----
  2129. X  #define ITEM_ABOUT    1
  2130. X  #define ITEM_SCORES    2
  2131. X  #define ITEM_RECOVER    3
  2132. X! #define ITEM_CONFIG    4
  2133. X! #define ITEM_QUIT    5
  2134. X  
  2135. X  #define MENU_GAME    1
  2136. X  #define ITEM_INFO    0
  2137. X! #define ITEM_COPYOPT    1
  2138. X! #define ITEM_DISCARD    2
  2139. X! #define ITEM_RENAME    3
  2140. X  
  2141. X  #define GADSCROLL    1   /* The scroll bar */
  2142. X  #define GADNEWGAME    2   /* New Game requested */
  2143. X***************
  2144. X*** 72,79 ****
  2145. X  #define GADOUTFILE    10
  2146. X  #define GADCATNAME    11
  2147. X  #define GADDOGNAME    12
  2148. X- #define GADDEFLOAD    13
  2149. X- #define GADDEFSAVE    14
  2150. X  
  2151. X  #define GADSTRSAVE    15
  2152. X  #define GADSTRLEVELS    16
  2153. X--- 68,73 ----
  2154. X***************
  2155. X*** 80,86 ****
  2156. X  #define GADSTRPATH    17
  2157. X  #define GADSTRPENS    18
  2158. X  #define GADSTRHACKDIR    19
  2159. X- #define GADEDOPTIONS    20
  2160. X  #define GADCONFSAVE    21
  2161. X  #define GADCONFLOAD    22
  2162. X  #define GADCONFNAME    23
  2163. X--- 74,79 ----
  2164. X***************
  2165. X*** 93,99 ****
  2166. X  #define GADHELPOKAY    30
  2167. X  #define GADHELPFRWD    31
  2168. X  #define GADHELPBKWD    32
  2169. X! #define GADEDDEF    33
  2170. X  
  2171. X  #define GADRESTDIR    34
  2172. X  #define GADRESTOLD    35
  2173. X--- 86,92 ----
  2174. X  #define GADHELPOKAY    30
  2175. X  #define GADHELPFRWD    31
  2176. X  #define GADHELPBKWD    32
  2177. X! #define GADEDITOPTS    33
  2178. X  
  2179. X  #define GADRESTDIR    34
  2180. X  #define GADRESTOLD    35
  2181. X***************
  2182. X*** 100,105 ****
  2183. X--- 93,102 ----
  2184. X  #define GADRESTNEW    36
  2185. X  #define GADRESTCAN    37
  2186. X  #define GADRESTOKAY    38
  2187. X+ #define GADSAVEINFO    39
  2188. X+ #define GADUSEINFO    40
  2189. X+ #define GADQUITINFO    41
  2190. X+ #define GADPLNAME    42
  2191. X  
  2192. X  /*
  2193. X   *  Option gadgets GadgetID's
  2194. X***************
  2195. X*** 139,144 ****
  2196. X--- 136,148 ----
  2197. X  #define GADOLITCORRIDOR    133
  2198. X  #define GADOSHOWEXP    134
  2199. X  #define GADOSHOWSCORE    135
  2200. X+ #define    GADONAME    136
  2201. X+ #define    GADOSCORE    137
  2202. X+ #define    GADOPALETTE    138
  2203. X+ #define    GADOWINDOWTYPE    139
  2204. X+ #define    GADOMSGHISTORY    140
  2205. X+ #define    GADOPICKUPTYPES    141
  2206. X+ #define    GADOPETTYPE    142
  2207. X  
  2208. X  /* Definition of workbench size layout */
  2209. X  
  2210. X***************
  2211. X*** 165,176 ****
  2212. X  #define RstOld        (Sbuff(&Rst_RestOld))
  2213. X  #define RstNew        (Sbuff(&Rst_RestNew))
  2214. X  
  2215. X- #define DefPlayerName    (Sbuff(&Defs_PlayerName))
  2216. X- #define DefOutFile    (Sbuff(&Defs_DefaultName))
  2217. X- 
  2218. X  #define StrString    (Sbuff(&Str_String))
  2219. X  
  2220. X  #define StrTools    (Sbuff(&Info_ToolTypes))
  2221. X  
  2222. X  #define GAMEIMAGE    "HackExe:NetHack"
  2223. X  #define GAMESTACK    50000
  2224. X--- 169,178 ----
  2225. X  #define RstOld        (Sbuff(&Rst_RestOld))
  2226. X  #define RstNew        (Sbuff(&Rst_RestNew))
  2227. X  
  2228. X  #define StrString    (Sbuff(&Str_String))
  2229. X  
  2230. X  #define StrTools    (Sbuff(&Info_ToolTypes))
  2231. X+ #define StrPlayer    (Sbuff(&Info_Player))
  2232. X  
  2233. X  #define GAMEIMAGE    "HackExe:NetHack"
  2234. X  #define GAMESTACK    50000
  2235. X***************
  2236. X*** 210,215 ****
  2237. X  
  2238. X  #define NO_FLASH    0
  2239. X  #define FLASH        1
  2240. X- 
  2241. X- #define GAME_FROM_DEFAULT   0
  2242. X- #define GAME_FROM_INFO      1
  2243. X--- 212,214 ----
  2244. X*** /tmp/da11992    Tue Jun  1 17:01:24 1993
  2245. X--- sys/amiga/wbprotos.h    Mon May 24 11:12:34 1993
  2246. X***************
  2247. X*** 23,29 ****
  2248. X  void getline P(( FILE *fp , long *offarr , int which , char *buf , int size ));
  2249. X  void help_requester P(( char *file ));
  2250. X  void do_closewindow P(( void ));
  2251. X! void do_menu P(( int mcode ));
  2252. X  void menu_discard P(( void ));
  2253. X  void menu_copyopt P(( void ));
  2254. X  void menu_rename P(( void ));
  2255. X--- 23,29 ----
  2256. X  void getline P(( FILE *fp , long *offarr , int which , char *buf , int size ));
  2257. X  void help_requester P(( char *file ));
  2258. X  void do_closewindow P(( void ));
  2259. X! void do_menu P(( struct Menu *mptr, int mcode ));
  2260. X  void menu_discard P(( void ));
  2261. X  void menu_copyopt P(( void ));
  2262. X  void menu_rename P(( void ));
  2263. X***************
  2264. X*** 34,39 ****
  2265. X--- 34,40 ----
  2266. X  void SafeCloseWindow P(( struct Window *window ));
  2267. X  GPTR AllocGITEM P(( void ));
  2268. X  void FreeGITEM P(( GPTR gptr ));
  2269. X+ void RemoveGITEM P(( GPTR ));
  2270. X  struct DiskObject *AllocDObj P(( char *str ));
  2271. X  void FreeDObj P(( struct DiskObject *doptr ));
  2272. X  void LoadIcons P(( void ));
  2273. X***************
  2274. X*** 45,51 ****
  2275. X  void do_buttons P(( struct IntuiMessage *imsg ));
  2276. X  void do_gadgetdown P(( struct IntuiMessage *imsg ));
  2277. X  int ask_request P(( char *str ));
  2278. X! void menu_setopt P(( void ));
  2279. X  void menu_info P(( void ));
  2280. X  int IsEditEntry P(( char *, GPTR ));
  2281. X  void menu_comment P(( void ));
  2282. X--- 46,52 ----
  2283. X  void do_buttons P(( struct IntuiMessage *imsg ));
  2284. X  void do_gadgetdown P(( struct IntuiMessage *imsg ));
  2285. X  int ask_request P(( char *str ));
  2286. X! void setopt P(( GPTR ));
  2287. X  void menu_info P(( void ));
  2288. X  int IsEditEntry P(( char *, GPTR ));
  2289. X  void menu_comment P(( void ));
  2290. X***************
  2291. X*** 75,81 ****
  2292. X  GPTR NeedGame P(( void ));
  2293. X  void ChgGameItems P(( struct Menu *menup , int enable ));
  2294. X  void ChgNewGameItems P(( struct Menu *menup , int enable ));
  2295. X! int EditOptions P(( OPTR optr ));
  2296. X  struct Gadget *FindGadget P(( struct Window *window ,
  2297. X      struct NewWindow *newwindow , int id ));
  2298. X  void ZapOptions P(( OPTR optr ));
  2299. X--- 76,82 ----
  2300. X  GPTR NeedGame P(( void ));
  2301. X  void ChgGameItems P(( struct Menu *menup , int enable ));
  2302. X  void ChgNewGameItems P(( struct Menu *menup , int enable ));
  2303. X! int EditOptions P(( OPTR optr, GPTR gptr ));
  2304. X  struct Gadget *FindGadget P(( struct Window *window ,
  2305. X      struct NewWindow *newwindow , int id ));
  2306. X  void ZapOptions P(( OPTR optr ));
  2307. X*** /tmp/da12000    Tue Jun  1 17:01:26 1993
  2308. X--- sys/amiga/wbstruct.h    Mon May  3 13:33:32 1993
  2309. X***************
  2310. X*** 42,51 ****
  2311. X                   * options value.
  2312. X                   */
  2313. X  } OPTIONS, *OPTR;
  2314. X- 
  2315. X- typedef struct DEFAULTS
  2316. X- {
  2317. X-     int pltype;            /* Character class */
  2318. X-     char *plname;        /* Players name */
  2319. X-     char *options;        /* Preferred options string */
  2320. X- } DEFAULTS;
  2321. X--- 42,44 ----
  2322. X*** /tmp/da12032    Tue Jun  1 17:01:51 1993
  2323. X--- sys/amiga/winami.p    Tue Apr 13 15:41:59 1993
  2324. X***************
  2325. X*** 40,46 ****
  2326. X  void FDECL(DisplayData, (int  , int  , int ));
  2327. X  void FDECL(SetPropInfo, (struct Window * , struct Gadget * , long  , long  , long ));
  2328. X  void FDECL(kill_nhwindows, (int ));
  2329. X! void FDECL(amii_cl_end, (struct WinDesc * , int ));
  2330. X  void FDECL(cursor_off, (winid ));
  2331. X  void FDECL(cursor_on, (winid ));
  2332. X  void NDECL(amii_getret );
  2333. X--- 40,46 ----
  2334. X  void FDECL(DisplayData, (int  , int  , int ));
  2335. X  void FDECL(SetPropInfo, (struct Window * , struct Gadget * , long  , long  , long ));
  2336. X  void FDECL(kill_nhwindows, (int ));
  2337. X! void FDECL(amii_cl_end, (struct amii_WinDesc * , int ));
  2338. X  void FDECL(cursor_off, (winid ));
  2339. X  void FDECL(cursor_on, (winid ));
  2340. X  void NDECL(amii_getret );
  2341. X***************
  2342. X*** 55,57 ****
  2343. X--- 55,58 ----
  2344. X  void NDECL( amii_setpens );
  2345. X  void FDECL( SetBorder, (struct Gadget *) );
  2346. X  void NDECL( port_help );
  2347. X+ void FDECL( dismiss_nhwindow, (winid) );
  2348. END_OF_FILE
  2349. if test 54798 -ne `wc -c <'patches02l'`; then
  2350.     echo shar: \"'patches02l'\" unpacked with wrong size!
  2351. fi
  2352. # end of 'patches02l'
  2353. if test -f 'sys/amiga/windefs.h' -a "${1}" != "-c" ; then 
  2354.   echo shar: Renaming existing file \"'sys/amiga/windefs.h'\" to \"'sys/amiga/windefs.h.orig'\"
  2355.   mv -f 'sys/amiga/windefs.h' 'sys/amiga/windefs.h.orig'
  2356. fi
  2357. echo shar: Extracting \"'sys/amiga/windefs.h'\" \(3533 characters\)
  2358. sed "s/^X//" >'sys/amiga/windefs.h' <<'END_OF_FILE'
  2359. X/*    SCCS Id: @(#)windefs.h    3.1    93/04/02 */
  2360. X/* Copyright (c) Gregg Wonderly, Naperville, Illinois,  1991,1992,1993. */
  2361. X/* NetHack may be freely redistributed.  See license for details. */
  2362. X
  2363. X/* These should probably not even be options, but, I will leave them
  2364. X * for now... GGW
  2365. X */
  2366. X
  2367. X#include "hack.h"
  2368. X#include "wintype.h"
  2369. X#include "winami.h"
  2370. X#include "func_tab.h"
  2371. X
  2372. X/*#define   TOPL_GETLINE    /* Don't use a window for getlin() */
  2373. X/*#define   WINDOW_YN        /* Use a window for y/n questions */
  2374. X
  2375. X#include <exec/types.h>
  2376. X#include <exec/memory.h>
  2377. X#include <exec/io.h>
  2378. X#include <dos.h>
  2379. X#include <exec/alerts.h>
  2380. X#include <exec/devices.h>
  2381. X#include <exec/execbase.h>
  2382. X#include <devices/console.h>
  2383. X#include <devices/conunit.h>
  2384. X#include <graphics/gfxbase.h>
  2385. X#include <intuition/intuition.h>
  2386. X#include <intuition/intuitionbase.h>
  2387. X#include <libraries/dosextens.h>
  2388. X#include <ctype.h>
  2389. X#undef  strcmpi
  2390. X#include <string.h>
  2391. X#include <errno.h>
  2392. X
  2393. X#ifdef  IDCMP_CLOSEWINDOW
  2394. X# ifndef    INTUI_NEW_LOOK
  2395. X#  define    INTUI_NEW_LOOK
  2396. X# endif
  2397. X#endif
  2398. X
  2399. X#ifdef AZTEC_C
  2400. X#include <functions.h>
  2401. X#else
  2402. X#include <proto/dos.h>
  2403. X#include <proto/exec.h>
  2404. X#include <proto/console.h>
  2405. X#ifdef    VIEWWINDOW
  2406. X#include <proto/layers.h>
  2407. X#endif
  2408. X#include <proto/diskfont.h>
  2409. X
  2410. X/* kludge - see amirip for why */
  2411. X# undef red
  2412. X# undef green
  2413. X# undef blue
  2414. X# include <proto/graphics.h>
  2415. X
  2416. X#ifndef __SASC_60
  2417. X#undef index
  2418. X# define index strchr
  2419. X#endif
  2420. X
  2421. X#include <proto/intuition.h>
  2422. X#endif
  2423. X
  2424. X#ifdef    SHAREDLIB
  2425. X#include "amiga:lib/libmacs.h"
  2426. X#endif
  2427. X
  2428. X/* cw->data[x] contains 2 characters worth of special information.  These
  2429. X * characters are stored at the offsets as described here.
  2430. X */
  2431. X#define VATTR      0    /* Video attribute is in this slot */
  2432. X#define SEL_ITEM  1    /* If this is a select item, slot is 1 else 0 */
  2433. X#define SOFF      2    /* The string starts here.  */
  2434. X
  2435. X/* Nethack defines NULL as ((char *)0) which is very inconvienent... */
  2436. X#undef NULL
  2437. X#define NULL 0L
  2438. X
  2439. X/*
  2440. X * Versions we need of various libraries.  We can't use LIBRARY_VERSION
  2441. X * as defined in <exec/types.h> because some of the libraries we need
  2442. X * don't have that version number in the 1.2 ROM.
  2443. X */
  2444. X
  2445. X#define INTUITION_VERSION    33L
  2446. X#define GRAPHICS_VERSION    33L
  2447. X#define DISKFONT_VERSION    34L
  2448. X#define ICON_VERSION        34L
  2449. X
  2450. X/* These values are just sorta suggestions in use, but are minimum requirements
  2451. X * in reality...
  2452. X */
  2453. X#define WINDOWHEIGHT    192
  2454. X#define SCREENHEIGHT    200
  2455. X#define WIDTH        640
  2456. X
  2457. X/* This character is a solid block (cursor) in Hack.font */
  2458. X#define CURSOR_CHAR    0x90
  2459. X
  2460. X#define FONTHEIGHT    8
  2461. X#define FONTWIDTH    8
  2462. X#define FONTBASELINE    8
  2463. X
  2464. X#ifdef    VIEWWINDOW
  2465. X#define MAPFTWIDTH    4
  2466. X#define MAPFTHEIGHT    4
  2467. X#define MAPFTBASELN    3
  2468. X#define VIEWCHARWIDTH    16    /* Each square is 16 pixels wide */
  2469. X#define VIEWCHARHEIGHT    16    /* Each square is 16 pixels tall */
  2470. X#else
  2471. X#define MAPFTWIDTH    8
  2472. X#define MAPFTHEIGHT    8
  2473. X#define MAPFTBASELN    6
  2474. X#endif
  2475. X
  2476. X/* If Compiling with the "New Look", redefine these now */
  2477. X#ifdef  INTUI_NEW_LOOK
  2478. X#define NewWindow ExtNewWindow
  2479. X#define NewScreen ExtNewScreen
  2480. X#endif
  2481. X
  2482. X#define         SIZEOF_DISKNAME 8
  2483. X
  2484. X#define CSI     '\x9b'
  2485. X#define NO_CHAR     -1
  2486. X#define RAWHELP     0x5F    /* Rawkey code of the HELP key */
  2487. X
  2488. X#define C_BLACK        0
  2489. X#define C_WHITE        1
  2490. X#define C_BROWN        2
  2491. X#define C_CYAN        3
  2492. X#define C_GREEN        4
  2493. X#define C_MAGENTA    5
  2494. X#define C_BLUE        6
  2495. X#define C_RED        7
  2496. X#ifdef    VIEWWINDOW
  2497. X#define C_VBLACK0    8
  2498. X#define C_VBLACK1    9
  2499. X#define C_VBLACK2    10
  2500. X#define C_VBLACK3    11
  2501. X#define C_VBLACK4    12
  2502. X#define C_VBLACK5    13
  2503. X#define C_VBLACK6    14
  2504. X#define C_VBLACK7    15
  2505. X#endif
  2506. X
  2507. X/* topl kludges */
  2508. X#define TOPL_NOSPACE    topl_addspace=0
  2509. X#define TOPL_SPACE    topl_addspace=1
  2510. END_OF_FILE
  2511. if test 3533 -ne `wc -c <'sys/amiga/windefs.h'`; then
  2512.     echo shar: \"'sys/amiga/windefs.h'\" unpacked with wrong size!
  2513. fi
  2514. # end of 'sys/amiga/windefs.h'
  2515. echo shar: End of archive 13 \(of 33\).
  2516. cp /dev/null ark13isdone
  2517. MISSING=""
  2518. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ; do
  2519.     if test ! -f ark${I}isdone ; then
  2520.     MISSING="${MISSING} ${I}"
  2521.     fi
  2522. done
  2523. if test "${MISSING}" = "" ; then
  2524.     echo You have unpacked all 33 archives.
  2525.     echo "Now execute ./patchit.sh"
  2526.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  2527. else
  2528.     echo You still need to unpack the following archives:
  2529.     echo "        " ${MISSING}
  2530. fi
  2531. ##  End of shell archive.
  2532. exit 0
  2533.