1 //
2 // Copyright(C) 1993-1996 Id Software, Inc.
3 // Copyright(C) 2005-2014 Simon Howard
4 //
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // DESCRIPTION:
16 //	Status bar code.
17 //	Does the face/direction indicator animatin.
18 //	Does palette indicators as well (red pain/berserk, bright pickup)
19 //
20 
21 #ifndef __STSTUFF_H__
22 #define __STSTUFF_H__
23 
24 #include "doomtype.h"
25 #include "d_event.h"
26 #include "m_cheat.h"
27 
28 // Size of statusbar.
29 // Now sensitive for scaling.
30 #define ST_HEIGHT	32
31 #define ST_WIDTH	ORIGWIDTH
32 #define ST_Y		(ORIGHEIGHT - ST_HEIGHT)
33 
34 #define CRISPY_HUD 12
35 
36 // [crispy] Demo Timer widget
37 extern void ST_DrawDemoTimer (const int time);
38 extern int defdemotics, deftotaldemotics;
39 
40 //
41 // STATUS BAR
42 //
43 
44 // Called by main loop.
45 boolean ST_Responder (event_t* ev);
46 
47 // Called by main loop.
48 void ST_Ticker (void);
49 
50 // Called by main loop.
51 void ST_Drawer (boolean fullscreen, boolean refresh);
52 
53 // Called when the console player is spawned on each level.
54 void ST_Start (void);
55 
56 // Called by startup code.
57 void ST_Init (void);
58 
59 // [crispy] forcefully initialize the status bar backing screen
60 extern void ST_refreshBackground(boolean force);
61 
62 
63 // States for status bar code.
64 typedef enum
65 {
66     AutomapState,
67     FirstPersonState
68 
69 } st_stateenum_t;
70 
71 
72 // States for the chat code.
73 typedef enum
74 {
75     StartChatState,
76     WaitDestState,
77     GetChatState
78 
79 } st_chatstateenum_t;
80 
81 
82 
83 extern pixel_t *st_backing_screen;
84 extern cheatseq_t cheat_mus;
85 extern cheatseq_t cheat_god;
86 extern cheatseq_t cheat_ammo;
87 extern cheatseq_t cheat_ammonokey;
88 extern cheatseq_t cheat_noclip;
89 extern cheatseq_t cheat_commercial_noclip;
90 extern cheatseq_t cheat_powerup[8]; // [crispy] idbehold0
91 extern cheatseq_t cheat_choppers;
92 extern cheatseq_t cheat_clev;
93 extern cheatseq_t cheat_mypos;
94 
95 
96 #endif
97