1 /* SCCS Id: @(#)winext.h 3.1 2000/01/12 */ 2 /* Copyright (c) Gregg Wonderly, Naperville, Illinois, 1991,1992,1993. */ 3 /* NetHack may be freely redistributed. See license for details. */ 4 5 extern int reclip; 6 7 #ifdef CLIPPING 8 extern int clipping; 9 extern int clipx; 10 extern int clipy; 11 extern int clipxmax; 12 extern int clipymax; 13 extern int xclipbord, yclipbord; 14 #endif 15 16 extern int CO; 17 extern int LI; 18 extern int scrollmsg; 19 extern int alwaysinvent; 20 21 #ifndef SHAREDLIB 22 extern unsigned short amii_defpens[ 20 ]; 23 extern struct amii_DisplayDesc *amiIDisplay; /* the Amiga Intuition descriptor */ 24 extern struct window_procs amii_procs; 25 extern struct window_procs amiv_procs; 26 extern unsigned short amii_initmap[ AMII_MAXCOLORS ]; 27 extern unsigned short amiv_init_map[ AMII_MAXCOLORS ]; 28 extern unsigned short amii_init_map[ AMII_MAXCOLORS ]; 29 extern int bigscreen; 30 extern int amii_numcolors; 31 extern long amii_scrnmode; 32 extern winid amii_rawprwin; 33 extern struct Screen *HackScreen; 34 extern char Initialized; 35 /* These have already been defined elsewhere (and some are conflicting) 36 * ... going ... going once ... going twice .... 37 * extern const char *roles[]; 38 * extern struct Library *ConsoleDevice; 39 * extern char toplines[ TBUFSZ ]; 40 * extern NEARDATA winid WIN_MESSAGE; 41 * extern NEARDATA winid WIN_MAP; 42 * extern NEARDATA winid WIN_STATUS; 43 * extern NEARDATA winid WIN_INVEN; 44 * extern winid WIN_OVER; 45 * extern struct GfxBase *GfxBase; 46 * extern struct Library *DiskfontBase; 47 * extern struct IntuitionBase *IntuitionBase; 48 * extern struct Library *LayersBase; 49 */ 50 extern int amii_msgAPen; 51 extern int amii_msgBPen; 52 extern int amii_statAPen; 53 extern int amii_statBPen; 54 extern int amii_menuAPen; 55 extern int amii_menuBPen; 56 extern int amii_textAPen; 57 extern int amii_textBPen; 58 extern int amii_otherAPen; 59 extern int amii_otherBPen; 60 #else 61 extern WinamiBASE *WinamiBase; 62 #endif 63 /* All kinds of shared stuff */ 64 extern struct TextAttr Hack160; 65 extern struct TextAttr Hack40; 66 extern struct TextAttr Hack80; 67 extern struct TextAttr TextsFont13; 68 extern struct Window *pr_WindowPtr; 69 extern struct Menu HackMenu[]; 70 extern struct Menu *MenuStrip; 71 extern struct NewMenu GTHackMenu[]; 72 extern APTR *VisualInfo; 73 extern unsigned char KbdBuffered; 74 extern struct TextFont *TextsFont; 75 extern struct TextFont *HackFont; 76 extern struct IOStdReq ConsoleIO; 77 extern struct MsgPort *HackPort; 78 79 extern int txwidth, txheight, txbaseline; 80 #ifdef SUPERBITMAP_MAP 81 extern struct BitMap amii_vbm; 82 #endif 83 84 /* This gadget data is replicated for menu/text windows... */ 85 extern struct PropInfo PropScroll; 86 extern struct Image Image1; 87 extern struct Gadget MenuScroll; 88 89 /* This gadget is for the message window... */ 90 extern struct PropInfo MsgPropScroll; 91 extern struct Image MsgImage1; 92 extern struct Gadget MsgScroll; 93 94 extern struct TagItem tags[]; 95 96 extern struct win_setup 97 { 98 struct NewWindow newwin; 99 UWORD offx,offy,maxrow,rows,maxcol,cols; /* CHECK TYPES */ 100 } new_wins[]; 101 102 extern UWORD scrnpens[]; 103 /* The last Window event is stored here for reference. */ 104 extern WEVENT lastevent; 105 extern const char winpanicstr[]; 106 extern struct TagItem scrntags[]; 107 extern struct NewScreen NewHackScreen; 108 109 extern int topl_addspace; 110 extern char spaces[ 76 ]; 111 extern int wincnt; /* # of nh windows opened */ 112 extern struct Rectangle lastinvent, lastmsg; 113 114 typedef struct { 115 UWORD w, h; 116 WORD x, y; 117 UBYTE nPlanes; 118 UBYTE masking; 119 UBYTE compression; 120 UBYTE reserved1; 121 UWORD transparentColor; 122 UBYTE xAspect, yAspect; 123 WORD pageWidth, pageHeight; 124 } BitMapHeader; 125 126 typedef enum {COL_MAZE_BRICK,COL_MAZE_STONE,COL_MAZE_HEAT,COL_MAZE_WOOD} MazeType; 127 extern struct PDAT pictdata; 128 extern struct Hook fillhook; 129 extern struct TagItem wintags[]; 130 #ifndef SHAREDLIB 131 #ifndef __GNUC__ 132 void __asm LayerFillHook( 133 register __a0 struct Hook *hk, 134 register __a2 struct RastPort *rp, 135 register __a1 struct FillParams *fp ); 136 #else 137 #ifdef __PPC__ 138 struct EmulLibEntry LayerFillHook; 139 #else 140 void LayerFillHook(void); 141 #endif 142 #endif 143 #endif 144 extern int mxsize, mysize; 145