1 // SONIC ROBO BLAST 2
2 //-----------------------------------------------------------------------------
3 // Copyright (C) 1993-1996 by id Software, Inc.
4 // Copyright (C) 1998-2000 by DooM Legacy Team.
5 // Copyright (C) 1999-2020 by Sonic Team Junior.
6 //
7 // This program is free software distributed under the
8 // terms of the GNU General Public License, version 2.
9 // See the 'LICENSE' file for more details.
10 //-----------------------------------------------------------------------------
11 /// \file  st_stuff.h
12 /// \brief Status bar header
13 
14 #ifndef __STSTUFF_H__
15 #define __STSTUFF_H__
16 
17 #include "doomtype.h"
18 #include "d_event.h"
19 #include "d_player.h"
20 #include "r_defs.h"
21 
22 //
23 // STATUS BAR
24 //
25 
26 // Called by main loop.
27 void ST_Ticker(boolean run);
28 
29 // Called by main loop.
30 void ST_Drawer(void);
31 
32 // Called when the console player is spawned on each level.
33 void ST_Start(void);
34 
35 // Called by startup code.
36 void ST_Init(void);
37 
38 // Called by G_Responder() when pressing F12 while viewing a demo.
39 void ST_changeDemoView(void);
40 
41 void ST_UnloadGraphics(void);
42 void ST_LoadGraphics(void);
43 
44 // face load graphics, called when skin changes
45 void ST_LoadFaceGraphics(INT32 playernum);
46 void ST_ReloadSkinFaceGraphics(void);
47 
48 void ST_doPaletteStuff(void);
49 
50 // title card
51 void ST_startTitleCard(void);
52 void ST_runTitleCard(void);
53 void ST_drawTitleCard(void);
54 void ST_preDrawTitleCard(void);
55 void ST_preLevelTitleCardDrawer(void);
56 void ST_drawWipeTitleCard(void);
57 
58 extern tic_t lt_ticker, lt_lasttic;
59 extern tic_t lt_exitticker, lt_endtime;
60 
61 // return if player a is in the same team as player b
62 boolean ST_SameTeam(player_t *a, player_t *b);
63 
64 //--------------------
65 // status bar overlay
66 //--------------------
67 
68 extern boolean st_overlay; // sb overlay on or off when fullscreen
69 extern INT32 st_palette; // 0 is default, any others are special palettes.
70 extern INT32 st_translucency;
71 
72 extern lumpnum_t st_borderpatchnum;
73 // patches, also used in intermission
74 extern patch_t *tallnum[10];
75 extern patch_t *sboscore;
76 extern patch_t *sbotime;
77 extern patch_t *sbocolon;
78 extern patch_t *sboperiod;
79 extern patch_t *faceprefix[MAXSKINS]; // face status patches
80 extern patch_t *superprefix[MAXSKINS]; // super face status patches
81 extern patch_t *livesback;
82 extern patch_t *stlivex;
83 extern patch_t *ngradeletters[7];
84 
85 /** HUD location information (don't move this comment)
86   */
87 typedef struct
88 {
89 	INT32 x, y, f;
90 } hudinfo_t;
91 
92 typedef enum
93 {
94 	HUD_LIVES,
95 
96 	HUD_RINGS,
97 	HUD_RINGSNUM,
98 	HUD_RINGSNUMTICS,
99 
100 	HUD_SCORE,
101 	HUD_SCORENUM,
102 
103 	HUD_TIME,
104 	HUD_MINUTES,
105 	HUD_TIMECOLON,
106 	HUD_SECONDS,
107 	HUD_TIMETICCOLON,
108 	HUD_TICS,
109 
110 	HUD_SS_TOTALRINGS,
111 
112 	HUD_GETRINGS,
113 	HUD_GETRINGSNUM,
114 	HUD_TIMELEFT,
115 	HUD_TIMELEFTNUM,
116 	HUD_TIMEUP,
117 	HUD_HUNTPICS,
118 	HUD_POWERUPS,
119 
120 	NUMHUDITEMS
121 } hudnum_t;
122 
123 extern hudinfo_t hudinfo[NUMHUDITEMS];
124 
125 extern UINT16 objectsdrawn;
126 
127 #endif
128