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