1 2 3 4 5 #ifndef _HUDPARSE_H 6 #define _HUDPARSE_H 7 8 #include "ai/ai.h" 9 #include "globalincs/globals.h" 10 #include "graphics/2d.h" 11 12 //Variables 13 extern int Num_custom_gauges; 14 extern float Hud_unit_multiplier; 15 extern float Hud_speed_multiplier; 16 17 #define NUM_HUD_RETICLE_STYLES 2 18 19 #define HUD_RETICLE_STYLE_FS1 0 20 #define HUD_RETICLE_STYLE_FS2 1 21 22 extern int Hud_reticle_style; 23 extern bool Scale_retail_gauges; 24 extern int Force_scaling_above_res_global[2]; 25 extern int Hud_font; 26 extern bool Chase_view_only_ex; 27 28 typedef struct gauge_settings { 29 int base_res[2]; 30 int font_num; 31 bool scale_gauge; 32 int force_scaling_above_res[2]; 33 SCP_vector<int>* ship_idx; 34 color *use_clr; 35 float origin[2]; 36 int offset[2]; 37 bool use_coords; 38 int coords[2]; 39 bool set_position; 40 bool set_colour; 41 bool slew; 42 bool chase_view_only; 43 gauge_settingsgauge_settings44 gauge_settings() : font_num(Hud_font), scale_gauge(Scale_retail_gauges), ship_idx(nullptr), use_clr(nullptr), use_coords(false), set_position(true), set_colour(true), slew(false), chase_view_only(Chase_view_only_ex) { 45 base_res[0] = -1; 46 base_res[1] = -1; 47 memcpy(force_scaling_above_res, Force_scaling_above_res_global, sizeof(force_scaling_above_res)); 48 origin[0] = 0.0f; 49 origin[1] = 0.0f; 50 offset[0] = 0; 51 offset[1] = 0; 52 coords[0] = 0; 53 coords[1] = 0; 54 } 55 } gauge_settings; 56 57 //Functions 58 void hud_positions_init(); 59 void set_current_hud(); 60 void init_hud(); 61 void load_missing_retail_gauges(); 62 void check_color(int *colorp); 63 64 int parse_gauge_type(); 65 void load_gauge(int gauge, gauge_settings* settings); 66 67 #define HUD_OBJECT_CUSTOM 0 68 void load_gauge_custom(gauge_settings* settings); 69 70 #define HUD_OBJECT_MESSAGES 1 71 void load_gauge_messages(gauge_settings* settings); 72 73 #define HUD_OBJECT_TRAINING_MESSAGES 2 74 void load_gauge_training_messages(gauge_settings* settings); 75 76 #define HUD_OBJECT_SUPPORT 3 77 void load_gauge_support(gauge_settings* settings); 78 79 #define HUD_OBJECT_DAMAGE 4 80 void load_gauge_damage(gauge_settings* settings); 81 82 #define HUD_OBJECT_WINGMAN_STATUS 5 83 void load_gauge_wingman_status(gauge_settings* settings); 84 85 #define HUD_OBJECT_AUTO_SPEED 6 86 void load_gauge_auto_speed(gauge_settings* settings); 87 88 #define HUD_OBJECT_AUTO_TARGET 7 89 void load_gauge_auto_target(gauge_settings* settings); 90 91 #define HUD_OBJECT_CMEASURES 8 92 void load_gauge_countermeasures(gauge_settings* settings); 93 94 #define HUD_OBJECT_TALKING_HEAD 9 95 void load_gauge_talking_head(gauge_settings* settings); 96 97 #define HUD_OBJECT_DIRECTIVES 10 98 void load_gauge_directives(gauge_settings* settings); 99 100 #define HUD_OBJECT_WEAPONS 11 101 void load_gauge_weapons(gauge_settings* settings); 102 103 #define HUD_OBJECT_OBJ_NOTIFY 12 104 void load_gauge_objective_notify(gauge_settings* settings); 105 106 #define HUD_OBJECT_SQUAD_MSG 13 107 void load_gauge_squad_message(gauge_settings* settings); 108 109 #define HUD_OBJECT_LAG 14 110 void load_gauge_lag(gauge_settings* settings); 111 112 #define HUD_OBJECT_MINI_SHIELD 15 113 void load_gauge_mini_shields(gauge_settings* settings); 114 115 #define HUD_OBJECT_PLAYER_SHIELD 16 116 void load_gauge_player_shields(gauge_settings* settings); 117 118 #define HUD_OBJECT_TARGET_SHIELD 17 119 void load_gauge_target_shields(gauge_settings* settings); 120 121 #define HUD_OBJECT_ESCORT 18 122 void load_gauge_escort_view(gauge_settings* settings); 123 124 #define HUD_OBJECT_MISSION_TIME 19 125 void load_gauge_mission_time(gauge_settings* settings); 126 127 #define HUD_OBJECT_ETS_WEAPONS 20 128 void load_gauge_ets_weapons(gauge_settings* settings); 129 130 #define HUD_OBJECT_ETS_SHIELDS 21 131 void load_gauge_ets_shields(gauge_settings* settings); 132 133 #define HUD_OBJECT_ETS_ENGINES 22 134 void load_gauge_ets_engines(gauge_settings* settings); 135 136 #define HUD_OBJECT_TARGET_MONITOR 23 137 void load_gauge_target_monitor(gauge_settings* settings); 138 139 #define HUD_OBJECT_EXTRA_TARGET_DATA 24 140 void load_gauge_extra_target_data(gauge_settings* settings); 141 142 #define HUD_OBJECT_RADAR_STD 25 143 void load_gauge_radar_std(gauge_settings* settings); 144 145 #define HUD_OBJECT_RADAR_ORB 26 146 void load_gauge_radar_orb(gauge_settings* settings); 147 148 #define HUD_OBJECT_RADAR_BSG 27 149 void load_gauge_radar_dradis(gauge_settings* settings); 150 151 #define HUD_OBJECT_AFTERBURNER 28 152 void load_gauge_afterburner(gauge_settings* settings); 153 154 #define HUD_OBJECT_WEAPON_ENERGY 29 155 void load_gauge_weapon_energy(gauge_settings* settings); 156 157 #define HUD_OBJECT_TEXT_WARNINGS 30 158 void load_gauge_text_warnings(gauge_settings* settings); 159 160 #define HUD_OBJECT_CENTER_RETICLE 31 161 void load_gauge_center_reticle(gauge_settings* settings); 162 163 #define HUD_OBJECT_THROTTLE 32 164 void load_gauge_throttle(gauge_settings* settings); 165 166 #define HUD_OBJECT_THREAT 33 167 void load_gauge_threat_indicator(gauge_settings* settings); 168 169 #define HUD_OBJECT_LEAD 34 170 void load_gauge_lead(gauge_settings* settings); 171 172 #define HUD_OBJECT_LEAD_SIGHT 35 173 void load_gauge_lead_sight(gauge_settings* settings); 174 175 #define HUD_OBJECT_LOCK 36 176 void load_gauge_lock(gauge_settings* settings); 177 178 #define HUD_OBJECT_WEAPON_LINKING 37 179 void load_gauge_weapon_linking(gauge_settings* settings); 180 181 #define HUD_OBJECT_MULTI_MSG 38 182 void load_gauge_multi_msg(gauge_settings* settings); 183 184 #define HUD_OBJECT_VOICE_STATUS 39 185 void load_gauge_voice_status(gauge_settings* settings); 186 187 #define HUD_OBJECT_PING 40 188 void load_gauge_ping(gauge_settings* settings); 189 190 #define HUD_OBJECT_SUPERNOVA 41 191 void load_gauge_supernova(gauge_settings* settings); 192 193 #define HUD_OBJECT_OFFSCREEN 42 194 void load_gauge_offscreen(gauge_settings* settings); 195 196 #define HUD_OBJECT_BRACKETS 43 197 void load_gauge_brackets(gauge_settings* settings); 198 199 #define HUD_OBJECT_ORIENTATION_TEE 44 200 void load_gauge_orientation_tee(gauge_settings* settings); 201 202 #define HUD_OBJECT_HOSTILE_TRI 45 203 void load_gauge_hostile_tri(gauge_settings* settings); 204 205 #define HUD_OBJECT_TARGET_TRI 46 206 void load_gauge_target_tri(gauge_settings* settings); 207 208 #define HUD_OBJECT_MISSILE_TRI 47 209 void load_gauge_missile_tri(gauge_settings* settings); 210 211 #define HUD_OBJECT_KILLS 48 212 void load_gauge_kills(gauge_settings* settings); 213 214 #define HUD_OBJECT_FIXED_MESSAGES 49 215 void load_gauge_fixed_messages(gauge_settings* settings); 216 217 #define HUD_OBJECT_ETS_RETAIL 50 218 void load_gauge_ets_retail(gauge_settings* settings); 219 220 #define HUD_OBJECT_FLIGHT_PATH 51 221 void load_gauge_flight_path(gauge_settings* settings); 222 223 #define HUD_OBJECT_WARHEAD_COUNT 52 224 void load_gauge_warhead_count(gauge_settings* settings); 225 226 #define HUD_OBJECT_HARDPOINTS 53 227 void load_gauge_hardpoints(gauge_settings* settings); 228 229 #define HUD_OBJECT_PRIMARY_WEAPONS 54 230 void load_gauge_primary_weapons(gauge_settings* settings); 231 232 #define HUD_OBJECT_SECONDARY_WEAPONS 55 233 void load_gauge_secondary_weapons(gauge_settings* settings); 234 235 #define HUD_OBJECT_SCRIPTING 56 236 void load_gauge_scripting(gauge_settings* settings); 237 238 #endif // _HUDPARSE_H 239