1 /*
2  * Copyright (C) Volition, Inc. 1999.  All rights reserved.
3  *
4  * All source code herein is the property of Volition, Inc. You may not sell
5  * or otherwise commercially exploit the source or things you created based on the
6  * source.
7  *
8 */
9 
10 
11 
12 #ifndef _RADAR_H
13 #define _RADAR_H
14 
15 #include "radar/radarsetup.h"
16 
17 extern int Radar_static_looping;
18 
19 class object;
20 struct blip;
21 struct color;
22 
23 extern void radar_init_std();
24 extern void radar_plot_object_std( object *objp );
25 extern void radar_frame_init_std();
26 extern void radar_mission_init_std();
27 extern void radar_frame_render_std(float frametime);
28 
29 // observer hud rendering code uses this function
30 void radar_draw_blips_sorted_std(int distort);
31 void radar_draw_range_std();
32 void radar_blit_gauge_std();
33 void radar_stuff_blip_info_std(object *objp, int is_bright, color **blip_color, int *blip_type);
34 void radar_null_nblips_std();
35 void radar_draw_circle_std( int x, int y, int rad );
36 void radar_blip_draw_distorted_std(blip *b);
37 void radar_blip_draw_flicker_std(blip *b);
38 void radar_draw_image_std( int x, int y, int rad, int idx, int size);
39 
40 class HudGaugeRadarStd: public HudGaugeRadar
41 {
42 	hud_frames Radar_gauge;
43 
44 	int current_target_x, current_target_y;
45 	color radar_crosshairs;
46 
47 	// formerly parts of Current_radar_global
48 	float Radar_center_offsets[2];
49 public:
50 	HudGaugeRadarStd();
51 	void initCenterOffsets(float x, float y);
52 	void initBitmaps(char *fname);
53 
54 	void blipDrawDistorted(blip *b, int x, int y);
55 	void blipDrawFlicker(blip *b, int x, int y);
56 	void blitGauge();
57 	void drawBlips(int blip_type, int bright, int distort);
58 	void drawBlipsSorted(int distort);
59 	void drawContactCircle( int x, int y, int rad );
60 	void drawContactImage( int x, int y, int rad, int idx, int clr_idx, int size );
61 	void drawCrosshairs(int x, int y);
62 	void render(float frametime);
63 	void pageIn();
64 	void plotBlip(blip *b, int *x, int *y);
65 	void plotObject( object *objp );
66 };
67 
68 #endif
69 
70