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 class object; 18 struct blip; 19 struct color; 20 21 extern void radar_init_std(); 22 extern void radar_plot_object_std( object *objp ); 23 extern void radar_frame_init_std(); 24 extern void radar_mission_init_std(); 25 extern void radar_frame_render_std(float frametime); 26 27 // observer hud rendering code uses this function 28 void radar_draw_blips_sorted_std(int distort); 29 void radar_draw_range_std(); 30 void radar_blit_gauge_std(); 31 void radar_stuff_blip_info_std(object *objp, int is_bright, color **blip_color, int *blip_type); 32 void radar_null_nblips_std(); 33 void radar_draw_circle_std( int x, int y, int rad ); 34 void radar_blip_draw_distorted_std(blip *b); 35 void radar_blip_draw_flicker_std(blip *b); 36 void radar_draw_image_std( int x, int y, int rad, int idx, int size); 37 38 class HudGaugeRadarStd: public HudGaugeRadar 39 { 40 hud_frames Radar_gauge; 41 42 int current_target_x, current_target_y; 43 color radar_crosshairs; 44 45 // formerly parts of Current_radar_global 46 float Radar_center_offsets[2]; 47 48 protected: 49 /** 50 * @brief Clamps and scales the blip to be within the plot area 51 * @param[in] b The blip coordinates (only x and y are nonzero) 52 */ 53 virtual void clampBlip(vec3d* b); 54 public: 55 HudGaugeRadarStd(); 56 void initCenterOffsets(float x, float y); 57 void initBitmaps(char *fname); 58 59 void blipDrawDistorted(blip *b, int x, int y); 60 void blipDrawFlicker(blip *b, int x, int y); 61 void blitGauge(); 62 void drawBlips(int blip_type, int bright, int distort); 63 void drawBlipsSorted(int distort); 64 void drawContactCircle( int x, int y, int rad ); 65 void drawContactImage( int x, int y, int rad, int idx, int clr_idx, int size ); 66 void drawCrosshairs(int x, int y); 67 void render(float frametime) override; 68 void pageIn() override; 69 void plotBlip(blip *b, int *x, int *y); 70 void plotObject( object *objp ); 71 }; 72 73 #endif 74 75