1 #ifndef _included_vision_h_
2 #define _included_vision_h_
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 //#include "d3_func.h"
9 
10 /*KJL****************************************************************************************
11 *                                    P R O T O T Y P E S	                                *
12 ****************************************************************************************KJL*/
13 enum PREDOVISION_ID
14 {
15 	PREDOVISION_NORMAL,
16 	PREDOVISION_SPECTRUM
17 };
18 struct PredOVisionDescriptor
19 {
20 	enum PREDOVISION_ID	VisionMode;
21 	int 				FadeLevel;
22 	unsigned char		VisionIsChanging :1;
23 	unsigned char		FadingToWhite :1;
24 };
25 
26 enum MARINEOVISION_ID
27 {
28 	MARINEOVISION_NORMAL,
29 	MARINEOVISION_INTENSIFIED
30 };
31 struct MarineOVisionDescriptor
32 {
33 	enum MARINEOVISION_ID	VisionMode;
34 	int 					FadeLevel;
35 	unsigned char			VisionIsChanging :1;
36 	unsigned char			FadingToWhite :1;
37 };
38 
39 /* JH 29/5/97 - define a structure to control how D3D does the lighting */
40 enum D3DLCC_Mode
41 {
42 	LCCM_NORMAL, /* default behaviour, white light - all other parms ignored */
43 	LCCM_CONSTCOLOUR, /* r,g,b specify a colour of a light to use instead of white */
44 	LCCM_FUNCTIONOFINTENSITY /* GetR, GetG, GetB are function pointers to get r,g,b as function of intensity */
45 };
46 struct D3DLightColourControl
47 {
48 	enum D3DLCC_Mode ctrl;
49 
50 	/* these should be in [0..ONE_FIXED] */
51 	int r;
52 	int g;
53 	int b;
54 
55 	/* these should return from [0..255]
56 	   their parameters are [0..255] */
57 	int (*GetR)(int);
58 	int (*GetG)(int);
59 	int (*GetB)(int);
60 };
61 extern struct D3DLightColourControl d3d_light_ctrl;
62 
63 /* KJL 17:07:29 10/02/98 - all new vision modes */
64 enum VISION_MODE_ID
65 {
66 	VISION_MODE_NORMAL,
67 	VISION_MODE_ALIEN_SENSE,
68 
69 	VISION_MODE_IMAGEINTENSIFIER,
70 	VISION_MODE_PRED_THERMAL,
71 	VISION_MODE_PRED_SEEALIENS,
72 	VISION_MODE_PRED_SEEPREDTECH,
73 
74 	NUMBER_OF_VISION_MODES
75 };
76 
77 extern enum VISION_MODE_ID CurrentVisionMode;
78 
79 
80 
81 extern struct D3DOverlayColourControl d3d_overlay_ctrl;
82 extern void HandleD3DScreenFading(void);
83 
84 extern void SetupPredOVision(void);
85 extern void HandlePredOVision(void);
86 extern void SetupMarineOVision(void);
87 extern void HandleMarineOVision(void);
88 extern void HandleAlienOVision(void);
89 
90 extern int IsVisionChanging(void);
91 
92 extern void ChangePredatorVisionMode(void);
93 
94 
95 extern void SetupVision(void);
96 #ifdef __cplusplus
97 }
98 #endif
99 
100 #endif /* ! _included_vision_h_ */
101