1 /* Emacs style mode select   -*- C++ -*-
2  *-----------------------------------------------------------------------------
3  *
4  *
5  *  PrBoom: a Doom port merged with LxDoom and LSDLDoom
6  *  based on BOOM, a modified and improved DOOM engine
7  *  Copyright (C) 1999 by
8  *  id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
9  *  Copyright (C) 1999-2000 by
10  *  Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
11  *  Copyright 2005, 2006 by
12  *  Florian Schulze, Colin Phipps, Neil Stevens, Andrey Budko
13  *
14  *  This program is free software; you can redistribute it and/or
15  *  modify it under the terms of the GNU General Public License
16  *  as published by the Free Software Foundation; either version 2
17  *  of the License, or (at your option) any later version.
18  *
19  *  This program is distributed in the hope that it will be useful,
20  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
21  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  *  GNU General Public License for more details.
23  *
24  *  You should have received a copy of the GNU General Public License
25  *  along with this program; if not, write to the Free Software
26  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
27  *  02111-1307, USA.
28  *
29  * DESCRIPTION:  Head up display
30  *
31  *-----------------------------------------------------------------------------*/
32 
33 #ifndef __HU_STUFF_H__
34 #define __HU_STUFF_H__
35 
36 #include "d_event.h"
37 
38 /*
39  * Globally visible constants.
40  */
41 #define HU_FONTSTART    '!'     /* the first font characters */
42 #define HU_FONTEND      (0x7f) /*jff 2/16/98 '_' the last font characters */
43 
44 /* Calculate # of glyphs in font. */
45 #define HU_FONTSIZE     (HU_FONTEND - HU_FONTSTART + 1)
46 
47 #define HU_BROADCAST    5
48 
49 /*#define HU_MSGREFRESH   KEYD_ENTER                                phares */
50 #define HU_MSGX         0
51 #define HU_MSGY         0
52 #define HU_MSGWIDTH     64      /* in characters */
53 #define HU_MSGHEIGHT    1       /* in lines */
54 
55 #define HU_MSGTIMEOUT   (4*TICRATE)
56 
57 /*
58  * Heads up text
59  */
60 void HU_Init(void);
61 void HU_Start(void);
62 
63 boolean HU_Responder(event_t* ev);
64 
65 void HU_Ticker(void);
66 void HU_Drawer(void);
67 char HU_dequeueChatChar(void);
68 void HU_Erase(void);
69 void HU_MoveHud(void); // jff 3/9/98 avoid glitch in HUD display
70 
71 /* killough 5/2/98: moved from m_misc.c: */
72 
73 /* jff 2/16/98 hud supported automap colors added */
74 extern int hudcolor_titl;   /* color range of automap level title   */
75 extern int hudcolor_xyco;   /* color range of new coords on automap */
76 /* jff 2/16/98 hud text colors, controls added */
77 extern int hudcolor_mesg;   /* color range of scrolling messages    */
78 extern int hudcolor_chat;   /* color range of chat lines            */
79 /* jff 2/26/98 hud message list color and background enable */
80 extern int hudcolor_list;   /* color of list of past messages                  */
81 extern int hud_list_bgon;   /* solid window background for list of messages    */
82 extern int hud_msg_lines;   /* number of message lines in window up to 16      */
83 extern int hud_distributed; /* whether hud is all in lower left or distributed */
84 /* jff 2/23/98 hud is currently displayed */
85 extern int hud_displayed;   /* hud is displayed */
86 /* jff 2/18/98 hud/status control */
87 extern int hud_active;      /* hud mode 0=off, 1=small, 2=full          */
88 extern int hud_nosecrets;   /* status does not list secrets/items/kills */
89 
90 #endif
91