1 /* NetHack 3.6 winext.h $NHDT-Date: 1432512794 2015/05/25 00:13:14 $ $NHDT-Branch: master $:$NHDT-Revision: 1.7 $ */ 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 24 *amiIDisplay; /* the Amiga Intuition descriptor */ 25 extern struct window_procs amii_procs; 26 extern struct window_procs amiv_procs; 27 extern unsigned short amii_initmap[AMII_MAXCOLORS]; 28 extern unsigned short amiv_init_map[AMII_MAXCOLORS]; 29 extern unsigned short amii_init_map[AMII_MAXCOLORS]; 30 extern int bigscreen; 31 extern int amii_numcolors; 32 extern long amii_scrnmode; 33 extern winid amii_rawprwin; 34 extern struct Screen *HackScreen; 35 extern char Initialized; 36 /* These have already been defined elsewhere (and some are conflicting) 37 * ... going ... going once ... going twice .... 38 * extern const char *roles[]; 39 * extern struct Library *ConsoleDevice; 40 * extern char toplines[ TBUFSZ ]; 41 * extern NEARDATA winid WIN_MESSAGE; 42 * extern NEARDATA winid WIN_MAP; 43 * extern NEARDATA winid WIN_STATUS; 44 * extern NEARDATA winid WIN_INVEN; 45 * extern winid WIN_OVER; 46 * extern struct GfxBase *GfxBase; 47 * extern struct Library *DiskfontBase; 48 * extern struct IntuitionBase *IntuitionBase; 49 * extern struct Library *LayersBase; 50 */ 51 extern int amii_msgAPen; 52 extern int amii_msgBPen; 53 extern int amii_statAPen; 54 extern int amii_statBPen; 55 extern int amii_menuAPen; 56 extern int amii_menuBPen; 57 extern int amii_textAPen; 58 extern int amii_textBPen; 59 extern int amii_otherAPen; 60 extern int amii_otherBPen; 61 #else 62 extern WinamiBASE *WinamiBase; 63 #endif 64 /* All kinds of shared stuff */ 65 extern struct TextAttr Hack160; 66 extern struct TextAttr Hack40; 67 extern struct TextAttr Hack80; 68 extern struct TextAttr TextsFont13; 69 extern struct Window *pr_WindowPtr; 70 extern struct Menu HackMenu[]; 71 extern struct Menu *MenuStrip; 72 extern struct NewMenu GTHackMenu[]; 73 extern APTR *VisualInfo; 74 extern unsigned char KbdBuffered; 75 extern struct TextFont *TextsFont; 76 extern struct TextFont *HackFont; 77 extern struct IOStdReq ConsoleIO; 78 extern struct MsgPort *HackPort; 79 80 extern int txwidth, txheight, txbaseline; 81 #ifdef SUPERBITMAP_MAP 82 extern struct BitMap amii_vbm; 83 #endif 84 85 /* This gadget data is replicated for menu/text windows... */ 86 extern struct PropInfo PropScroll; 87 extern struct Image Image1; 88 extern struct Gadget MenuScroll; 89 90 /* This gadget is for the message window... */ 91 extern struct PropInfo MsgPropScroll; 92 extern struct Image MsgImage1; 93 extern struct Gadget MsgScroll; 94 95 extern struct TagItem tags[]; 96 97 extern struct win_setup { 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 { 127 COL_MAZE_BRICK, 128 COL_MAZE_STONE, 129 COL_MAZE_HEAT, 130 COL_MAZE_WOOD 131 } MazeType; 132 extern struct PDAT pictdata; 133 extern struct Hook fillhook; 134 extern struct TagItem wintags[]; 135 #ifndef SHAREDLIB 136 #ifndef __GNUC__ 137 void __asm LayerFillHook(register __a0 struct Hook *hk, 138 register __a2 struct RastPort *rp, 139 register __a1 struct FillParams *fp); 140 #else 141 #ifdef __PPC__ 142 struct EmulLibEntry LayerFillHook; 143 #else 144 void LayerFillHook(void); 145 #endif 146 #endif 147 #endif 148 extern int mxsize, mysize; 149