1 #ifndef _hudgfx_h
2 #define _hudgfx_h
3 /*KJL*********************************************************************************************
4 * HUDGFX.H                                                                                       *
5 *                                                                                                *
6 * Contains the enumerations and structures that are used in DDPLAT.CPP to draw the HUD graphics. *
7 *********************************************************************************************KJL*/
8 
9 
10 /*KJL****************************************************************************************
11 * 										D E F I N E S 										*
12 ****************************************************************************************KJL*/
13 
14 /* fonts used in HUD */
15 enum HUD_FONT
16 {
17     MARINE_HUD_FONT_BLUE,
18     MARINE_HUD_FONT_RED,
19 	MARINE_HUD_FONT_MT_SMALL,
20 	MARINE_HUD_FONT_MT_BIG,
21 
22 	ALIEN_HUD_FONT,
23 
24 	NUM_HUD_FONTS
25 };
26 /* DD Surfaces */
27 enum MARINE_HUD_GFX
28 {
29     MARINE_HUD_GFX_MOTIONTRACKERBLIP,
30     MARINE_HUD_GFX_NUMERALS,
31     MARINE_HUD_GFX_GUNSIGHTS,
32 	MARINE_HUD_GFX_TRACKERFONT,
33 	MARINE_HUD_GFX_BLUEBAR,
34     NO_OF_MARINE_HUD_GFX
35 };
36 
37 enum PREDATOR_HUD_GFX
38 {
39 	PREDATOR_HUD_GFX_TOP,
40 	PREDATOR_HUD_GFX_BOTTOM,
41 	PREDATOR_HUD_GFX_NUMBERS,
42 	PREDATOR_HUD_GFX_SYMBOLS,
43 	NO_OF_PREDATOR_HUD_GFX
44 };
45 
46 enum ALIEN_HUD_GFX
47 {
48 	ALIEN_HUD_GFX_BOTTOM,
49 	ALIEN_HUD_GFX_LEFT,
50 	ALIEN_HUD_GFX_RIGHT,
51 	ALIEN_HUD_GFX_TOP,
52 	ALIEN_HUD_GFX_NUMBERS,
53 	NO_OF_ALIEN_HUD_GFX
54 };
55 
56 enum HUD_RES_ID
57 {
58 	HUD_RES_LO,
59 	HUD_RES_MED,
60 	HUD_RES_HI,
61 };
62 /*KJL****************************************************************************************
63 * 									 S T R U C T U R E S									*
64 ****************************************************************************************KJL*/
65 
66 /* description of a single DD surface used for HUD gfx */
67 struct DDGraphicTag
68 {
69 	LPDIRECTDRAWSURFACE    LPDDS;
70 
71 	AW_BACKUPTEXTUREHANDLE hBackup; // JH 12/2/98 changed for new gfx loading system
72     RECT				   SrcRect;
73 };
74 
75 /* description of a digit appearing on the HUD */
76 struct DigitPropertiesTag
77 {
78 	int	X;
79     int	Y;
80    	int	Font;
81 };
82 
83 /* info about a particular frame */
84 struct FrameInfoTag
85 {
86 	int	X;			   /* centre X coord of frame */
87     int	Y;			   /* bottom Y of frame */
88    	char *FilenamePtr; /* filename of graphic */
89 };
90 
91 struct HUDFontDescTag
92 {
93 	int XOffset;
94 	int Height;
95 	int Width;
96 };
97 
98 struct LittleMDescTag
99 {
100 	int SourceTop;
101 	int SourceLeft;
102 	int Width;
103 	int Height;
104 	int X;
105 	int Y;
106 };
107 
108 /*JH*****************************************************************************************
109 *                                     P R O T O T Y P E S                                   *
110 *****************************************************************************************JH*/
111 
112 /* JH 3/6/97 - these functions are to
113    release hud graphics with any links to direct draw
114    but still keep them in memory, so they can be restored */
115 extern void MinimizeAllDDGraphics(void);
116 extern void RestoreAllDDGraphics(void);
117 
118 /*KJL****************************************************************************************
119 * 										 E X T E R N S 	  									*
120 ****************************************************************************************KJL*/
121 //extern LPDIRECTDRAW lpDD;
122 //extern LPDIRECTDRAWSURFACE lpDDSBack;
123 
124 #endif
125