54 static int retail_gauges[] = {
168 char *saved_Mp = NULL;
170 int colors[3] = {255, 255, 255};
173 color *hud_clr_p = NULL;
174 color *ship_clr_p = NULL;
175 bool scale_gauge =
true;
191 hud_clr_p = &hud_color;
267 int force_scaling_above_res[2];
272 color *use_clr_p = NULL;
274 bool retail_config =
false;
278 ship_classes.clear();
281 mprintf((
"$Ship in hud_gauges.tbl and -hdg.tbms is deprecated. Use \"$Ships: (\"Some ship class\") instead.\n"));
291 ship_classes.push_back(ship_idx);
306 ship_clr_p = &ship_color;
315 ship_classes.push_back(-1);
330 for (i = 0; i < n_ships; ++
i) {
331 ship_classes.push_back(shiparray[i]);
333 Ship_info[shiparray[
i]].hud_retail = retail_config;
341 ship_clr_p = &ship_color;
350 ship_classes.push_back(-1);
356 if (ship_clr_p != NULL) {
357 use_clr_p = ship_clr_p;
360 use_clr_p = hud_clr_p;
363 if (ship_font >= 0) {
364 use_font = ship_font;
466 if (saved_Mp && (saved_Mp ==
Mp)) {
483 mprintf((
"TABLES: Unable to parse '%s'! Error message = %s.\n", filename, e.what()));
492 Error(
LOCATION,
"Could not initialize hudparse.cpp as ships were not inited first.");
510 bool retail_gauge_loaded =
false;
517 retail_gauge_loaded =
false;
519 for(
int j = 0; j < num_loaded_gauges; j++) {
521 retail_gauge_loaded =
true;
526 if(!retail_gauge_loaded) {
533 retail_gauge_loaded =
false;
534 for(
int j = 0; j < num_loaded_gauges; j++) {
538 retail_gauge_loaded =
true;
543 if(!retail_gauge_loaded) {
549 retail_gauge_loaded =
false;
551 for(
int j = 0; j < num_loaded_gauges; j++) {
553 retail_gauge_loaded =
true;
557 if(!retail_gauge_loaded) {
569 if(it->hud_enabled && it->hud_retail) {
570 int num_loaded_gauges = (
int)it->hud_gauges.size();
573 for(
int j = 0; j < num_loaded_gauges; j++) {
574 if(retail_gauges[
i] == it->hud_gauges[j]->getObjectType()) {
575 retail_gauge_loaded =
true;
579 if(!retail_gauge_loaded) {
587 retail_gauge_loaded =
false;
588 for(
int j = 0; j < num_loaded_gauges; j++) {
592 retail_gauge_loaded =
true;
597 if(!retail_gauge_loaded) {
604 retail_gauge_loaded =
false;
606 for(
int j = 0; j < num_loaded_gauges; j++) {
608 retail_gauge_loaded =
true;
612 if(!retail_gauge_loaded) {
624 int i, num_gauges, config_type;
629 for(i = 0; i < num_gauges; i++) {
648 for(i = 0; i < num_gauges; i++) {
671 int i, num_gauges, config_type;
680 for(i = 0; i < num_gauges; i++) {
701 for(i = 0; i < num_gauges; i++) {
906 ship_index.push_back(-1);
1081 Assertion(gauge == -1,
"Invalid value '%d' passed to load_gauge(); get a coder!\n", gauge);
1088 return (res[0] >= 640) && (res[1] >= 480);
1095 for ( i = 0; i < 3; ++
i ) {
1096 if ( colorp[i] > 255 ) {
1098 }
else if ( colorp[i] < 0 ) {
1110 (force_scaling_above_res[0] <= 0 || force_scaling_above_res[1] <= 0 ||
1119 if (!scaling && force_scaling_above_res[0] > base_res[0] && force_scaling_above_res[1] > base_res[1] &&
1121 base_res[0] = force_scaling_above_res[0];
1122 base_res[1] = force_scaling_above_res[1];
1126 if (aspect_quotient >= 1.0) {
1127 base_res[0] = (
int)(base_res[0] * aspect_quotient);
1129 base_res[1] = (
int)(base_res[1] / aspect_quotient);
1150 int colors[3] = {255, 255, 255};
1151 bool lock_color =
false;
1155 int display_size[2] = {0, 0};
1156 int display_offset[2] = {0, 0};
1157 int canvas_size[2] = {0, 0};
1176 bool use_default_pos =
true;
1180 use_default_pos =
false;
1187 Error(
LOCATION,
"HUD gauges table: Offset must also have Origin defined");
1190 if ( !(settings->
use_coords && use_default_pos) ) {
1240 if ( settings->
use_clr != NULL ) {
1269 T* instance = preAllocated;
1271 if (instance == NULL)
1276 instance->initBaseResolution(settings->
base_res[0], settings->
base_res[1]);
1277 instance->initFont(settings->
font_num);
1279 instance->initPosition(settings->
coords[0], settings->
coords[1]);
1280 instance->initSlew(settings->
slew);
1281 instance->initCockpitTarget(display_name, display_offset[0], display_offset[1], display_size[0], display_size[1], canvas_size[0], canvas_size[1]);
1284 instance->updateColor(colors[0], colors[1], colors[2]);
1285 instance->lockConfigColor(lock_color);
1299 bool active_by_default =
true;
1300 int txtoffset_x = 0, txtoffset_y = 0;
1302 int colors[3] = {255, 255, 255};
1303 bool lock_color =
false;
1307 int display_size[2] = {0, 0};
1308 int display_offset[2] = {0, 0};
1309 int canvas_size[2] = {0, 0};
1327 bool use_default_pos =
true;
1331 use_default_pos =
false;
1338 Error(
LOCATION,
"HUD gauges table: Offset must also have Origin defined");
1341 if (!use_default_pos) {
1366 if ( settings->
use_clr != NULL ) {
1431 HudGauge* hud_gauge =
new HudGauge(gauge_type, settings->
slew, r,
g,
b, name, text, filename, txtoffset_x, txtoffset_y);
1436 hud_gauge->
updateColor(colors[0], colors[1], colors[2]);
1438 hud_gauge->
initCockpitTarget(display_name, display_offset[0], display_offset[1], display_size[0], display_size[1], canvas_size[0], canvas_size[1]);
1440 if(settings->
ship_idx->at(0) >= 0) {
1443 *instance = *hud_gauge;
1444 Ship_info[*ship_index].hud_gauges.push_back(instance);
1456 settings->
origin[0] = 0.5f;
1457 settings->
origin[1] = 0.5f;
1460 settings->
offset[0] = 66;
1461 settings->
offset[1] = 91;
1463 settings->
offset[0] = 115;
1464 settings->
offset[1] = 145;
1467 HudGaugeLag* hud_gauge = gauge_load_common<HudGaugeLag>(settings);
1475 if(settings->
ship_idx->at(0) >= 0) {
1478 *instance = *hud_gauge;
1479 Ship_info[*ship_index].hud_gauges.push_back(instance);
1489 int Mini_3digit_offsets[2];
1490 int Mini_1digit_offsets[2];
1491 int Mini_2digit_offsets[2];
1494 settings->
origin[0] = 0.5f;
1495 settings->
origin[1] = 0.5f;
1496 settings->
slew =
true;
1499 settings->
offset[0] = -15;
1500 settings->
offset[1] = 51;
1502 Mini_3digit_offsets[0] = 5;
1503 Mini_3digit_offsets[1] = 7;
1504 Mini_1digit_offsets[0] = 11;
1505 Mini_1digit_offsets[1] = 7;
1506 Mini_2digit_offsets[0] = 8;
1507 Mini_2digit_offsets[1] = 7;
1509 settings->
offset[0] = -15;
1510 settings->
offset[1] = 86;
1512 Mini_3digit_offsets[0] = 5;
1513 Mini_3digit_offsets[1] = 7;
1514 Mini_1digit_offsets[0] = 14;
1515 Mini_1digit_offsets[1] = 7;
1516 Mini_2digit_offsets[0] = 9;
1517 Mini_2digit_offsets[1] = 7;
1540 if(settings->
ship_idx->at(0) >= 0) {
1543 *instance = *hud_gauge;
1544 Ship_info[*ship_index].hud_gauges.push_back(instance);
1554 int Wenergy_text_offsets[2];
1556 int text_alignment = 0;
1557 bool always_show_text =
false;
1558 bool show_ballistic =
false;
1559 bool moving_text =
false;
1560 int armed_weapon_offsets[2] = {0, 0};
1561 int armed_weapon_h = 12;
1562 int weapon_alignment = 0;
1563 bool show_weapons =
false;
1566 settings->
origin[0] = 0.5f;
1567 settings->
origin[1] = 0.5f;
1568 settings->
slew =
true;
1585 settings->
offset[0] = 96;
1586 settings->
offset[1] = 25;
1588 Wenergy_text_offsets[0] = 23;
1589 Wenergy_text_offsets[1] = 53;
1593 settings->
offset[0] = 154;
1594 settings->
offset[1] = 40;
1596 Wenergy_text_offsets[0] = 43;
1597 Wenergy_text_offsets[1] = 85;
1630 show_weapons =
true;
1634 weapon_alignment = 1;
1645 hud_gauge->
initTextOffsets(Wenergy_text_offsets[0], Wenergy_text_offsets[1]);
1650 hud_gauge->
initArmedOffsets(armed_weapon_offsets[0], armed_weapon_offsets[1], armed_weapon_h, show_weapons);
1652 if(settings->
ship_idx->at(0) >= 0) {
1655 *instance = *hud_gauge;
1656 Ship_info[*ship_index].hud_gauges.push_back(instance);
1666 settings->
origin[0] = 0.5f;
1667 settings->
origin[1] = 1.0f;
1670 settings->
offset[0] = -178;
1671 settings->
offset[1] = -101;
1673 settings->
offset[0] = -220;
1674 settings->
offset[1] = -98;
1679 if(settings->
ship_idx->at(0) >= 0) {
1682 *instance = *hud_gauge;
1683 Ship_info[*ship_index].hud_gauges.push_back(instance);
1693 settings->
origin[0] = 0.5f;
1694 settings->
origin[1] = 1.0f;
1697 settings->
offset[0] = 76;
1698 settings->
offset[1] = -101;
1700 settings->
offset[0] = 122;
1701 settings->
offset[1] = -98;
1706 if(settings->
ship_idx->at(0) >= 0) {
1709 *instance = *hud_gauge;
1710 Ship_info[*ship_index].hud_gauges.push_back(instance);
1720 int header_text_offsets[2];
1721 int list_start_offsets[2];
1723 int entry_stagger_w;
1724 int bottom_bg_offset = 0;
1725 int ship_name_offsets[2];
1726 int ship_name_max_w = 100;
1727 int ship_integrity_offsets[2];
1728 int ship_status_offsets[2];
1729 bool right_align_names =
false;
1735 settings->
origin[0] = 1.0f;
1736 settings->
origin[1] = 0.5f;
1739 settings->
offset[0] = -154;
1740 settings->
offset[1] = -40;
1742 header_text_offsets[0] = 3;
1743 header_text_offsets[1] = 2;
1744 list_start_offsets[0] = 0;
1745 list_start_offsets[1] = 13;
1747 entry_stagger_w = 0;
1748 ship_name_offsets[0] = 3;
1749 ship_name_offsets[1] = 0;
1750 ship_integrity_offsets[0] = 118;
1751 ship_integrity_offsets[1] = 0;
1752 ship_status_offsets[0] = -12;
1753 ship_status_offsets[1] = 0;
1755 settings->
offset[0] = -159;
1756 settings->
offset[1] = -54;
1758 header_text_offsets[0] = 3;
1759 header_text_offsets[1] = 2;
1760 list_start_offsets[0] = 0;
1761 list_start_offsets[1] = 13;
1763 entry_stagger_w = 0;
1764 ship_name_offsets[0] = 4;
1765 ship_name_offsets[1] = 0;
1766 ship_integrity_offsets[0] = 116;
1767 ship_integrity_offsets[1] = 0;
1768 ship_status_offsets[0] = -11;
1769 ship_status_offsets[1] = 0;
1772 HudGaugeEscort* hud_gauge = gauge_load_common<HudGaugeEscort>(settings);
1819 if (header_text[0] ==
'\0') {
1823 hud_gauge->
initBitmaps(fname_top, fname_middle, fname_bottom);
1836 if(settings->
ship_idx->at(0) >= 0) {
1839 *instance = *hud_gauge;
1840 Ship_info[*ship_index].hud_gauges.push_back(instance);
1853 settings->
origin[0] = 0.5f;
1854 settings->
origin[1] = 0.5f;
1855 settings->
slew =
true;
1872 settings->
offset[0] = -149;
1873 settings->
offset[1] = 25;
1877 settings->
offset[0] = -238;
1878 settings->
offset[1] = 40;
1895 if(settings->
ship_idx->at(0) >= 0) {
1898 *instance = *hud_gauge;
1899 Ship_info[*ship_index].hud_gauges.push_back(instance);
1910 int time_text_offsets[2];
1911 int time_val_offsets[2];
1914 settings->
origin[0] = 1.0f;
1915 settings->
origin[1] = 1.0f;
1918 settings->
offset[0] = -53;
1919 settings->
offset[1] = -32;
1921 settings->
offset[0] = -55;
1922 settings->
offset[1] = -52;
1924 time_text_offsets[0] = 4;
1925 time_text_offsets[1] = 4;
1927 time_val_offsets[0] = 26;
1928 time_val_offsets[1] = 12;
1942 hud_gauge->
initTextOffsets(time_text_offsets[0], time_text_offsets[1]);
1946 if(settings->
ship_idx->at(0) >= 0) {
1949 *instance = *hud_gauge;
1950 Ship_info[*ship_index].hud_gauges.push_back(instance);
1960 int Laser_warn_offsets[2];
1961 int Lock_warn_offsets[2];
1966 settings->
origin[0] = 0.5f;
1967 settings->
origin[1] = 0.5f;
1968 settings->
slew =
true;
1972 settings->
offset[0] = -79;
1973 settings->
offset[1] = -103;
1975 Laser_warn_offsets[0] = 59;
1976 Laser_warn_offsets[1] = 0;
1978 Lock_warn_offsets[0] = 79;
1979 Lock_warn_offsets[1] = 0;
1981 strcpy_s(fname_arc,
"toparc1_fs1");
1982 strcpy_s(fname_laser,
"toparc2_fs1");
1983 strcpy_s(fname_lock,
"toparc3_fs1");
1985 settings->
offset[0] = -126;
1986 settings->
offset[1] = -165;
1988 Laser_warn_offsets[0] = 94;
1989 Laser_warn_offsets[1] = 0;
1991 Lock_warn_offsets[0] = 126;
1992 Lock_warn_offsets[1] = 0;
1994 strcpy_s(fname_arc,
"2_toparc1_fs1");
1995 strcpy_s(fname_laser,
"2_toparc2_fs1");
1996 strcpy_s(fname_lock,
"2_toparc3_fs1");
2000 settings->
offset[0] = 39;
2001 settings->
offset[1] = -72;
2003 Laser_warn_offsets[0] = 41;
2004 Laser_warn_offsets[1] = 77;
2006 Lock_warn_offsets[0] = 35;
2007 Lock_warn_offsets[1] = 93;
2013 settings->
offset[0] = 62;
2014 settings->
offset[1] = -115;
2016 Laser_warn_offsets[0] = 66;
2017 Laser_warn_offsets[1] = 124;
2019 Lock_warn_offsets[0] = 57;
2020 Lock_warn_offsets[1] = 150;
2022 strcpy_s(fname_arc,
"2_rightarc1");
2023 strcpy_s(fname_laser,
"2_toparc2");
2046 hud_gauge->
initBitmaps(fname_arc, fname_laser, fname_lock);
2050 if(settings->
ship_idx->at(0) >= 0) {
2053 *instance = *hud_gauge;
2054 Ship_info[*ship_index].hud_gauges.push_back(instance);
2065 bool firepoints =
false;
2070 settings->
origin[0] = 0.5f;
2071 settings->
origin[1] = 0.5f;
2072 settings->
slew =
true;
2076 settings->
offset[0] = -12;
2077 settings->
offset[1] = -5;
2081 settings->
offset[0] = -19;
2082 settings->
offset[1] = -8;
2088 settings->
offset[0] = -12;
2089 settings->
offset[1] = -5;
2093 settings->
offset[0] = -19;
2094 settings->
offset[1] = -14;
2100 HudGaugeReticle* hud_gauge = gauge_load_common<HudGaugeReticle>(settings);
2121 if(settings->
ship_idx->at(0) >= 0) {
2124 *instance = *hud_gauge;
2125 Ship_info[*ship_index].hud_gauges.push_back(instance);
2135 int bottom_offset_y;
2136 int throttle_h, throttle_w;
2137 int throttle_aburn_h;
2138 int max_speed_offset[2];
2139 bool show_max_speed =
true;
2140 int zero_speed_offset[2];
2141 bool show_min_speed =
true;
2143 int orbit_center_offset[2];
2145 int target_speed_offset[2] = {0, 0};
2146 bool show_target_speed =
false;
2147 bool show_target_speed_percent =
false;
2148 int glide_offset[2] = {0, 0};
2149 bool custom_glide =
false;
2150 int match_speed_offset[2] = {0, 0};
2151 bool custom_match =
false;
2153 bool show_background =
false;
2155 settings->
origin[0] = 0.5f;
2156 settings->
origin[1] = 0.5f;
2157 settings->
slew =
true;
2162 settings->
offset[0] = -103;
2165 bottom_offset_y = 65;
2168 throttle_aburn_h = 17;
2169 max_speed_offset[0] = 14;
2170 max_speed_offset[1] = 14;
2171 zero_speed_offset[0] = 33;
2172 zero_speed_offset[1] = 63;
2173 orbit_center_offset[0] = 103;
2174 orbit_center_offset[1] = -1;
2178 settings->
offset[0] = -165;
2181 bottom_offset_y = 104;
2184 throttle_aburn_h = 27;
2185 max_speed_offset[0] = 22;
2186 max_speed_offset[1] = 22;
2187 zero_speed_offset[0] = 53;
2188 zero_speed_offset[1] = 101;
2189 orbit_center_offset[0] = 165;
2190 orbit_center_offset[1] = -1;
2194 show_background =
true;
2197 settings->
offset[0] = -104;
2198 settings->
offset[1] = -72;
2200 bottom_offset_y = 139;
2203 throttle_aburn_h = 17;
2204 max_speed_offset[0] = 20;
2205 max_speed_offset[1] = 86;
2206 zero_speed_offset[0] = 36;
2207 zero_speed_offset[1] = 135;
2208 orbit_center_offset[0] = 104;
2209 orbit_center_offset[1] = 75;
2213 settings->
offset[0] = -166;
2214 settings->
offset[1] = -115;
2216 bottom_offset_y = 222;
2219 throttle_aburn_h = 27;
2220 max_speed_offset[0] = 31;
2221 max_speed_offset[1] = 137;
2222 zero_speed_offset[0] = 57;
2223 zero_speed_offset[1] = 216;
2224 orbit_center_offset[0] = 166;
2225 orbit_center_offset[1] = 118;
2231 HudGaugeThrottle* hud_gauge = gauge_load_common<HudGaugeThrottle>(settings);
2275 show_target_speed =
true;
2282 custom_glide =
true;
2286 custom_match =
true;
2296 hud_gauge->
initTargetSpeedOffsets(target_speed_offset[0], target_speed_offset[1], show_target_speed, show_target_speed_percent);
2297 hud_gauge->
initGlideOffsets(glide_offset[0], glide_offset[1], custom_glide);
2302 if(settings->
ship_idx->at(0) >= 0) {
2305 *instance = *hud_gauge;
2306 Ship_info[*ship_index].hud_gauges.push_back(instance);
2321 int letter_offsets[2];
2323 int bottom_offsets[2];
2330 settings->
origin[0] = 1.0f;
2331 settings->
origin[1] = 1.0f;
2334 ets_letters[0] =
'G'; ets_letters[1] =
'S'; ets_letters[2] =
'A';
2336 ets_letters[0] =
'C'; ets_letters[1] =
'B'; ets_letters[2] =
'M';
2338 ets_letters[0] =
'G'; ets_letters[1] =
'S'; ets_letters[2] =
'E';
2343 settings->
offset[0] = -117;
2344 settings->
offset[1] = -100;
2348 settings->
offset[0] = -144;
2349 settings->
offset[1] = -120;
2354 letter_offsets[0] = 2;
2355 letter_offsets[1] = 42;
2358 bottom_offsets[0] = 0;
2359 bottom_offsets[1] = 50;
2384 gauge_positions[
i] = settings->
coords[0] + gauge_offset *
i;
2395 if(settings->
ship_idx->at(0) >= 0) {
2398 *instance = *hud_gauge;
2399 Ship_info[*ship_index].hud_gauges.push_back(instance);
2410 int letter_offsets[2];
2412 int bottom_offsets[2];
2416 settings->
origin[0] = 1.0f;
2417 settings->
origin[1] = 1.0f;
2431 settings->
offset[0] = -117;
2432 settings->
offset[1] = -100;
2434 settings->
offset[0] = -144;
2435 settings->
offset[1] = -120;
2438 letter_offsets[0] = 2;
2439 letter_offsets[1] = 42;
2442 bottom_offsets[0] = 0;
2443 bottom_offsets[1] = 50;
2470 if(settings->
ship_idx->at(0) >= 0) {
2473 *instance = *hud_gauge;
2474 Ship_info[*ship_index].hud_gauges.push_back(instance);
2485 int letter_offsets[2];
2487 int bottom_offsets[2];
2491 settings->
origin[0] = 1.0f;
2492 settings->
origin[1] = 1.0f;
2506 settings->
offset[0] = -100;
2507 settings->
offset[1] = -100;
2509 settings->
offset[0] = -126;
2510 settings->
offset[1] = -120;
2514 letter_offsets[0] = 2;
2515 letter_offsets[1] = 42;
2518 bottom_offsets[0] = 0;
2519 bottom_offsets[1] = 50;
2546 if(settings->
ship_idx->at(0) >= 0) {
2549 *instance = *hud_gauge;
2550 Ship_info[*ship_index].hud_gauges.push_back(instance);
2561 int letter_offsets[2];
2563 int bottom_offsets[2];
2567 settings->
origin[0] = 1.0f;
2568 settings->
origin[1] = 1.0f;
2582 settings->
offset[0] = -83;
2583 settings->
offset[1] = -100;
2585 settings->
offset[0] = -108;
2586 settings->
offset[1] = -120;
2591 letter_offsets[0] = 2;
2592 letter_offsets[1] = 42;
2595 bottom_offsets[0] = 0;
2596 bottom_offsets[1] = 50;
2623 if(settings->
ship_idx->at(0) >= 0) {
2626 *instance = *hud_gauge;
2627 Ship_info[*ship_index].hud_gauges.push_back(instance);
2637 int dock_offsets[2];
2639 int time_offsets[2];
2640 int bracket_offsets[2];
2641 int order_offsets[2];
2645 settings->
origin[0] = 0.0f;
2646 settings->
origin[1] = 1.0f;
2650 settings->
offset[1] = -200;
2652 dock_offsets[0] = 8;
2653 dock_offsets[1] = 19;
2655 time_offsets[0] = 8;
2656 time_offsets[1] = 10;
2659 settings->
offset[1] = -216;
2661 dock_offsets[0] = 8;
2662 dock_offsets[1] = 18;
2664 time_offsets[0] = 8;
2665 time_offsets[1] = 9;
2668 bracket_offsets[0] = 0;
2669 bracket_offsets[1] = 3;
2671 order_offsets[0] = 8;
2672 order_offsets[1] = 0;
2709 if(settings->
ship_idx->at(0) >= 0) {
2712 *instance = *hud_gauge;
2713 Ship_info[*ship_index].hud_gauges.push_back(instance);
2723 int Radar_blip_radius_normal;
2724 int Radar_blip_radius_target;
2725 int Radar_radius[2];
2727 float Radar_center_offsets[2];
2730 settings->
origin[0] = 0.5f;
2731 settings->
origin[1] = 1.0f;
2734 settings->
offset[0] = -63;
2735 settings->
offset[1] = -111;
2737 Radar_blip_radius_normal = 2;
2738 Radar_blip_radius_target = 5;
2740 Radar_center_offsets[0] = 64.0f;
2741 Radar_center_offsets[1] = 53.0f;
2743 Radar_radius[0] = 120;
2744 Radar_radius[1] = 100;
2746 Radar_dist_offsets[0][0] = 110;
2747 Radar_dist_offsets[0][1] = 92;
2749 Radar_dist_offsets[1][0] = 107;
2750 Radar_dist_offsets[1][1] = 92;
2752 Radar_dist_offsets[2][0] = 111;
2753 Radar_dist_offsets[2][1] = 92;
2757 settings->
offset[0] = -101;
2758 settings->
offset[1] = -178;
2760 Radar_blip_radius_normal = 4;
2761 Radar_blip_radius_target = 8;
2763 Radar_center_offsets[0] = 104.0f;
2764 Radar_center_offsets[1] = 85.0f;
2766 Radar_radius[0] = 192;
2767 Radar_radius[1] = 160;
2769 Radar_dist_offsets[0][0] = 184;
2770 Radar_dist_offsets[0][1] = 150;
2772 Radar_dist_offsets[1][0] = 181;
2773 Radar_dist_offsets[1][1] = 150;
2775 Radar_dist_offsets[2][0] = 185;
2776 Radar_dist_offsets[2][1] = 150;
2781 HudGaugeRadarStd* hud_gauge = gauge_load_common<HudGaugeRadarStd>(settings);
2805 hud_gauge->
initBlipRadius(Radar_blip_radius_normal, Radar_blip_radius_target);
2810 hud_gauge->
initRadius(Radar_radius[0], Radar_radius[1]);
2813 if(settings->
ship_idx->at(0) >= 0) {
2816 *instance = *hud_gauge;
2817 Ship_info[*ship_index].hud_gauges.push_back(instance);
2833 int Radar_blip_radius_normal;
2834 int Radar_blip_radius_target;
2835 int Radar_radius[2];
2837 float Radar_center_offsets[2];
2840 settings->
origin[0] = 0.5f;
2841 settings->
origin[1] = 1.0f;
2844 settings->
offset[0] = -63;
2845 settings->
offset[1] = -111;
2847 Radar_blip_radius_normal = 2;
2848 Radar_blip_radius_target = 5;
2850 Radar_center_offsets[0] = 65.0f;
2851 Radar_center_offsets[1] = 53.0f;
2853 Radar_radius[0] = 120;
2854 Radar_radius[1] = 100;
2856 Radar_dist_offsets[0][0]=110;
2857 Radar_dist_offsets[0][1]=92;
2859 Radar_dist_offsets[1][0]=107;
2860 Radar_dist_offsets[1][1]=92;
2862 Radar_dist_offsets[2][0]=111;
2863 Radar_dist_offsets[2][1]=92;
2867 settings->
offset[0] = -101;
2868 settings->
offset[1] = -178;
2870 Radar_blip_radius_normal = 4;
2871 Radar_blip_radius_target = 8;
2873 Radar_center_offsets[0] = 104.0f;
2874 Radar_center_offsets[1] = 85.0f;
2876 Radar_radius[0] = 192;
2877 Radar_radius[1] = 160;
2879 Radar_dist_offsets[0][0]=184;
2880 Radar_dist_offsets[0][1]=150;
2882 Radar_dist_offsets[1][0]=181;
2883 Radar_dist_offsets[1][1]=150;
2885 Radar_dist_offsets[2][0]=185;
2886 Radar_dist_offsets[2][1]=150;
2891 HudGaugeRadarOrb* hud_gauge = gauge_load_common<HudGaugeRadarOrb>(settings);
2915 hud_gauge->
initBlipRadius(Radar_blip_radius_normal, Radar_blip_radius_target);
2920 hud_gauge->
initRadius(Radar_radius[0], Radar_radius[1]);
2923 if(settings->
ship_idx->at(0) >= 0) {
2926 *instance = *hud_gauge;
2927 Ship_info[*ship_index].hud_gauges.push_back(instance);
2948 int Radar_radius[2];
2959 int display_offset[2] = {0, 0};
2960 int display_size[2] = {0, 0};
2961 int canvas_size[2] = {0, 0};
2964 float loop_snd_volume = 1.0f;
2966 int arrival_beep_snd = -1;
2967 int departure_beep_snd = -1;
2969 int stealth_arrival_snd = -1;
2970 int stealth_departure_snd = -1;
2972 float arrival_beep_delay = 0.0f;
2973 float departure_beep_delay = 0.0f;
2975 settings->
origin[0] = 0.5f;
2976 settings->
origin[1] = 1.0f;
2979 settings->
offset[0] = -89;
2980 settings->
offset[1] = -148;
2982 settings->
offset[0] = -143;
2983 settings->
offset[1] = -237;
2986 Radar_radius[0] = 281;
2987 Radar_radius[1] = 233;
3012 Error(
LOCATION,
"HUD gauges table: Offset must also have Origin defined");
3079 parse_sound(
"Loop Sound:", &loop_snd,
"DRADIS HudGauge");
3085 if (loop_snd_volume <= 0.0
f)
3087 Warning(
LOCATION,
"\"Loop Volume:\" value of \"%f\" is invalid! Must be more than zero! Resetting to default.", arrival_beep_delay);
3088 loop_snd_volume = 1.0f;
3092 parse_sound(
"Arrival Beep Sound:", &arrival_beep_snd,
"DRADIS HudGauge");
3093 parse_sound(
"Stealth arrival Beep Sound:", &stealth_arrival_snd,
"DRADIS HudGauge");
3099 if (arrival_beep_delay < 0.0
f)
3101 Warning(
LOCATION,
"\"Minimum Beep Delay:\" value of \"%f\" is invalid! Must be more than or equal to zero! Resetting to default.", arrival_beep_delay);
3102 arrival_beep_delay = 0.0f;
3106 parse_sound(
"Departure Beep Sound:", &departure_beep_snd,
"DRADIS HudGauge");
3107 parse_sound(
"Stealth departure Beep Sound:", &stealth_departure_snd,
"DRADIS HudGauge");
3113 if (departure_beep_delay < 0.0
f)
3115 Warning(
LOCATION,
"\"Minimum Beep Delay:\" value of \"%f\" is invalid! Must be more than or equal to zero! Resetting to default.", departure_beep_delay);
3116 departure_beep_delay = 0.0f;
3123 hud_gauge->
initRadius(Radar_radius[0], Radar_radius[1]);
3124 hud_gauge->
initBitmaps(xy_fname, xz_yz_fname, sweep_fname, target_fname, unknown_fname);
3125 hud_gauge->
initCockpitTarget(display_name, display_offset[0], display_offset[1], display_size[0], display_size[1], canvas_size[0], canvas_size[1]);
3127 hud_gauge->
initSound(loop_snd, loop_snd_volume, arrival_beep_snd, departure_beep_snd, stealth_arrival_snd, stealth_departure_snd, arrival_beep_delay, departure_beep_delay);
3129 if(settings->
ship_idx->at(0) >= 0) {
3132 *instance = *hud_gauge;
3133 Ship_info[*ship_index].hud_gauges.push_back(instance);
3143 settings->
origin[0] = 0.5f;
3144 settings->
origin[1] = 0.5f;
3145 settings->
slew =
true;
3149 settings->
offset[1] = -68;
3152 settings->
offset[1] = -109;
3157 if(settings->
ship_idx->at(0) >= 0) {
3160 *instance = *hud_gauge;
3161 Ship_info[*ship_index].hud_gauges.push_back(instance);
3171 int Viewport_size[2];
3172 int Viewport_offsets[2];
3173 int Integrity_bar_offsets[2];
3174 int Integrity_bar_h;
3175 int Status_offsets[2];
3176 int Name_offsets[2];
3177 int Class_offsets[2];
3178 int Dist_offsets[2];
3179 int Speed_offsets[2];
3180 int Cargo_string_offsets[2];
3181 int Hull_offsets[2];
3182 int Cargo_scan_start_offsets[2];
3183 int Cargo_scan_size[2];
3185 int Subsys_name_offsets[2] = {0, 0};
3186 bool Use_subsys_name_offsets =
false;
3188 int Subsys_integrity_offsets[2] = {0, 0};
3189 bool Use_subsys_integrity_offsets =
false;
3191 int Disabled_status_offsets[2] = {0, 0};
3192 bool Use_disabled_status_offsets =
false;
3194 bool desaturate =
false;
3201 settings->
origin[0] = 0.0f;
3202 settings->
origin[1] = 1.0f;
3206 settings->
offset[1] = -161;
3209 settings->
offset[1] = -178;
3212 Viewport_size[0] = 131;
3213 Viewport_size[1] = 112;
3214 Viewport_offsets[0] = 3;
3215 Viewport_offsets[1] = 39;
3217 Integrity_bar_offsets[0] = 133;
3218 Integrity_bar_offsets[1] = 52;
3219 Integrity_bar_h = 88;
3220 Status_offsets[0] = 107;
3221 Status_offsets[1] = 53;
3223 Name_offsets[0] = 8;
3224 Name_offsets[1] = -3;
3225 Class_offsets[0] = 8;
3226 Class_offsets[1] = 7;
3227 Dist_offsets[0] = 8;
3228 Dist_offsets[1] = 18;
3229 Speed_offsets[0] = 85;
3230 Speed_offsets[1] = 18;
3231 Cargo_string_offsets[0] = 8;
3232 Cargo_string_offsets[1] = 30;
3235 Hull_offsets[0] = 134;
3236 Hull_offsets[1] = 42;
3238 Cargo_scan_start_offsets[0] = 2;
3239 Cargo_scan_start_offsets[1] = 45;
3240 Cargo_scan_size[0] = 130;
3241 Cargo_scan_size[1] = 109;
3295 Use_subsys_name_offsets =
true;
3299 Use_subsys_integrity_offsets =
true;
3303 Use_disabled_status_offsets =
true;
3322 hud_gauge->
initSubsysNameOffsets(Subsys_name_offsets[0], Subsys_name_offsets[1], Use_subsys_name_offsets);
3323 hud_gauge->
initSubsysIntegrityOffsets(Subsys_integrity_offsets[0], Subsys_integrity_offsets[1], Use_subsys_integrity_offsets);
3324 hud_gauge->
initDisabledStatusOffsets(Disabled_status_offsets[0], Disabled_status_offsets[1], Use_disabled_status_offsets);
3326 hud_gauge->
initBitmaps(fname_monitor, fname_monitor_mask, fname_integrity, fname_static);
3328 if(settings->
ship_idx->at(0) >= 0) {
3331 *instance = *hud_gauge;
3332 Ship_info[*ship_index].hud_gauges.push_back(instance);
3342 int Pgup_offsets[2];
3343 int Pgdn_offsets[2];
3344 int Header_offsets[2];
3345 int Item_start_offsets[2];
3346 int Middle_frame_start_offset_y;
3347 int bottom_bg_offset = 0;
3354 settings->
origin[0] = 1.0f;
3355 settings->
origin[1] = 0.0f;
3358 settings->
offset[0] = -195;
3361 Pgup_offsets[0] = 145;
3362 Pgup_offsets[1] = 4;
3363 Pgdn_offsets[0] = 145;
3364 Pgdn_offsets[1] = 115;
3366 settings->
offset[0] = -197;
3369 Pgup_offsets[0] = 110;
3370 Pgup_offsets[1] = 5;
3371 Pgdn_offsets[0] = 110;
3372 Pgdn_offsets[1] = 115;
3375 Header_offsets[0] = 2;
3376 Header_offsets[1] = 1;
3377 Item_start_offsets[0] = 4;
3378 Item_start_offsets[1] = 13;
3379 Middle_frame_start_offset_y = 12;
3401 stuff_int(&Middle_frame_start_offset_y);
3419 hud_gauge->
initBitmaps(fname_top, fname_middle, fname_bottom);
3429 if(settings->
ship_idx->at(0) >= 0) {
3432 *instance = *hud_gauge;
3433 Ship_info[*ship_index].hud_gauges.push_back(instance);
3443 int Objective_text_offset_y;
3444 int Objective_text_val_offset_y;
3445 int Subspace_text_offset_y;
3446 int Subspace_text_val_offset_y;
3447 int Red_text_offset_y;
3448 int Red_text_val_offset_y;
3451 settings->
origin[0] = 0.5f;
3452 settings->
origin[1] = 0.5f;
3455 settings->
offset[0] = -75;
3456 settings->
offset[1] = -126;
3458 Objective_text_offset_y = 2;
3459 Objective_text_val_offset_y = 11;
3460 Subspace_text_offset_y = 2;
3461 Subspace_text_val_offset_y = 10;
3462 Red_text_offset_y = 2;
3463 Red_text_val_offset_y = 10;
3465 settings->
offset[0] = -76;
3466 settings->
offset[1] = -200;
3468 Objective_text_offset_y = 2;
3469 Objective_text_val_offset_y = 11;
3470 Subspace_text_offset_y = 2;
3471 Subspace_text_val_offset_y = 10;
3472 Red_text_offset_y = 2;
3473 Red_text_val_offset_y = 10;
3485 stuff_int(&Objective_text_val_offset_y);
3508 if(settings->
ship_idx->at(0) >= 0) {
3511 *instance = *hud_gauge;
3512 Ship_info[*ship_index].hud_gauges.push_back(instance);
3525 int Weapon_plink_offset_x;
3526 int Weapon_pname_offset_x;
3527 int Weapon_pammo_offset_x;
3528 int Weapon_sammo_offset_x;
3529 int Weapon_sname_offset_x;
3530 int Weapon_sreload_offset_x;
3531 int Weapon_slinked_offset_x;
3532 int Weapon_sunlinked_offset_x;
3534 int top_secondary_h;
3535 int pname_start_offset_y;
3536 int sname_start_offset_y;
3538 int secondary_text_h;
3555 settings->
origin[0] = 1.0f;
3556 settings->
origin[1] = 1.0f;
3559 settings->
offset[0] = -143;
3560 settings->
offset[1] = -228;
3562 settings->
offset[0] = -144;
3563 settings->
offset[1] = -257;
3566 top_offset_x[0] = 12;
3567 top_offset_x[1] = -12;
3569 Weapon_header_offsets[0][0] = 21;
3570 Weapon_header_offsets[0][1] = 2;
3571 Weapon_header_offsets[1][0] = -10;
3572 Weapon_header_offsets[1][1] = 2;
3574 frame_offset_x[0] = 0;
3575 frame_offset_x[1] = -12;
3577 Weapon_plink_offset_x = 33;
3578 Weapon_pname_offset_x = 39;
3579 Weapon_pammo_offset_x = 28;
3580 Weapon_sammo_offset_x = 28;
3581 Weapon_sname_offset_x = 39;
3582 Weapon_sreload_offset_x = 118;
3583 Weapon_slinked_offset_x = 28;
3584 Weapon_sunlinked_offset_x = 33;
3587 top_secondary_h = 12;
3588 pname_start_offset_y = 12;
3589 sname_start_offset_y = 4;
3591 primary_text_h = 12;
3592 secondary_text_h = 9;
3594 HudGaugeWeapons* hud_gauge = gauge_load_common<HudGaugeWeapons>(settings);
3700 hud_gauge->
initHeaderOffsets(Weapon_header_offsets[0][0], Weapon_header_offsets[0][1],
3701 Weapon_header_offsets[1][0], Weapon_header_offsets[1][1]);
3705 hud_gauge->
initSecondaryWeaponOffsets(Weapon_sammo_offset_x, Weapon_sname_offset_x, Weapon_sreload_offset_x, Weapon_slinked_offset_x, Weapon_sunlinked_offset_x);
3710 if(settings->
ship_idx->at(0) >= 0) {
3713 *instance = *hud_gauge;
3714 Ship_info[*ship_index].hud_gauges.push_back(instance);
3724 int header_offsets[2];
3725 int middle_frame_offset_y;
3726 int text_start_offsets[2];
3728 int max_line_width = 167;
3732 int bottom_bg_offset = 0;
3734 settings->
origin[0] = 0.0f;
3735 settings->
origin[1] = 0.5f;
3739 settings->
offset[1] = -62;
3742 settings->
offset[1] = -106;
3745 header_offsets[0] = 2;
3746 header_offsets[1] = 2;
3747 middle_frame_offset_y = 12;
3748 text_start_offsets[0] = 3;
3749 text_start_offsets[1] = 14;
3782 hud_gauge->
initBitmaps(fname_top, fname_middle, fname_bottom);
3790 if(settings->
ship_idx->at(0) >= 0) {
3793 *instance = *hud_gauge;
3794 Ship_info[*ship_index].hud_gauges.push_back(instance);
3804 int Header_offsets[2];
3805 int Anim_offsets[2];
3809 settings->
origin[0] = 0.0f;
3810 settings->
origin[1] = 0.0f;
3814 settings->
offset[1] = 35;
3817 settings->
offset[1] = 56;
3820 Header_offsets[0] = 2;
3821 Header_offsets[1] = 2;
3822 Anim_offsets[0] = 2;
3823 Anim_offsets[1] = 10;
3839 mprintf((
"Animation Background Size in hud_gauges.tbl and -hdg.tbms is deprecated. Use \"Animation Size\" instead.\n"));
3851 if(settings->
ship_idx->at(0) >= 0) {
3854 *instance = *hud_gauge;
3855 Ship_info[*ship_index].hud_gauges.push_back(instance);
3865 int cm_text_offset[2];
3866 int cm_text_val_offset[2];
3869 settings->
origin[0] = 1.0f;
3870 settings->
origin[1] = 1.0f;
3873 settings->
offset[0] = -143;
3874 settings->
offset[1] = -137;
3876 settings->
offset[0] = -144;
3877 settings->
offset[1] = -166;
3879 cm_text_offset[0] = 36;
3880 cm_text_offset[1] = 4;
3881 cm_text_val_offset[0] = 9;
3882 cm_text_val_offset[1] = 4;
3900 if(settings->
ship_idx->at(0) >= 0) {
3903 *instance = *hud_gauge;
3904 Ship_info[*ship_index].hud_gauges.push_back(instance);
3914 int auto_text_offset[2];
3915 int target_text_offset[2];
3918 int on_color[4] = {0, 0, 0, 255};
3919 int off_color[4] = {-1, -1, -1, -1};
3921 settings->
origin[0] = 1.0f;
3922 settings->
origin[1] = 1.0f;
3925 settings->
offset[0] = -63;
3926 settings->
offset[1] = -100;
3928 settings->
offset[0] = -64;
3929 settings->
offset[1] = -120;
3932 auto_text_offset[0] = 13;
3933 auto_text_offset[1] = 2;
3935 target_text_offset[0] = 2;
3936 target_text_offset[1] = 10;
3938 target_text_offset[0] = 7;
3939 target_text_offset[1] = 10;
3965 hud_gauge->
initOnColor(on_color[0], on_color[1], on_color[2], on_color[3]);
3966 hud_gauge->
initOffColor(off_color[0], off_color[1], off_color[2], off_color[3]);
3968 if(settings->
ship_idx->at(0) >= 0) {
3971 *instance = *hud_gauge;
3972 Ship_info[*ship_index].hud_gauges.push_back(instance);
3982 int auto_text_offset[2];
3983 int speed_text_offset[2];
3985 int on_color[4] = {0, 0, 0, 255};
3986 int off_color[4] = {-1, -1, -1, -1};
3988 settings->
origin[0] = 1.0f;
3989 settings->
origin[1] = 1.0f;
3992 settings->
offset[0] = -63;
3993 settings->
offset[1] = -76;
3995 settings->
offset[0] = -64;
3996 settings->
offset[1] = -96;
3999 auto_text_offset[0] = 13;
4000 auto_text_offset[1] = 2;
4002 speed_text_offset[0] = 9;
4003 speed_text_offset[1] = 10;
4005 speed_text_offset[0] = 10;
4006 speed_text_offset[1] = 10;
4032 hud_gauge->
initOnColor(on_color[0], on_color[1], on_color[2], on_color[3]);
4033 hud_gauge->
initOffColor(off_color[0], off_color[1], off_color[2], off_color[3]);
4035 if(settings->
ship_idx->at(0) >= 0) {
4038 *instance = *hud_gauge;
4039 Ship_info[*ship_index].hud_gauges.push_back(instance);
4049 int header_offsets[2];
4050 bool fixed_header_position;
4051 int left_frame_end_x;
4053 int single_wing_offsets[2];
4054 int multiple_wing_offsets[2];
4056 int right_bg_offset = 0;
4057 int wing_name_offsets[2];
4066 settings->
origin[0] = 1.0f;
4067 settings->
origin[1] = 0.0f;
4070 settings->
offset[0] = -90;
4071 settings->
offset[1] = 144;
4073 settings->
offset[0] = -92;
4074 settings->
offset[1] = 144;
4077 header_offsets[0] = 2;
4078 header_offsets[1] = 2;
4079 fixed_header_position =
false;
4080 left_frame_end_x = 71;
4082 single_wing_offsets[0] = 28;
4083 single_wing_offsets[1] = 15;
4084 multiple_wing_offsets[0] = 46;
4085 multiple_wing_offsets[1] = 15;
4087 wing_name_offsets[0] = 15;
4088 wing_name_offsets[1] = 26;
4090 wingmate_offsets[0][0] = 11;
4091 wingmate_offsets[0][1] = 0;
4092 wingmate_offsets[1][0] = 4;
4093 wingmate_offsets[1][1] = 8;
4094 wingmate_offsets[2][0] = 18;
4095 wingmate_offsets[2][1] = 8;
4096 wingmate_offsets[3][0] = 11;
4097 wingmate_offsets[3][1] = 16;
4098 wingmate_offsets[4][0] = 0;
4099 wingmate_offsets[4][1] = 16;
4100 wingmate_offsets[5][0] = 22;
4101 wingmate_offsets[5][1] = 16;
4168 hud_gauge->
initBitmaps(fname_left, fname_middle, fname_right, fname_dots);
4185 if(settings->
ship_idx->at(0) >= 0) {
4188 *instance = *hud_gauge;
4189 Ship_info[*ship_index].hud_gauges.push_back(instance);
4199 int header_offsets[2];
4200 int hull_integ_offsets[2];
4201 int hull_integ_val_offset_x;
4202 int middle_frame_start_offset_y;
4203 int subsys_integ_start_offsets[2];
4204 int subsys_integ_val_offset_x;
4205 int bottom_bg_offset = 0;
4211 settings->
origin[0] = 0.5f;
4212 settings->
origin[1] = 0.0f;
4215 settings->
offset[0] = -75;
4216 settings->
offset[1] = 38;
4218 settings->
offset[0] = -72;
4219 settings->
offset[1] = 61;
4221 header_offsets[0] = 3;
4222 header_offsets[1] = 2;
4223 hull_integ_offsets[0] = 4;
4224 hull_integ_offsets[1] = 15;
4225 hull_integ_val_offset_x = 142;
4226 middle_frame_start_offset_y = 25;
4227 subsys_integ_start_offsets[0] = 4;
4228 subsys_integ_start_offsets[1] = 27;
4229 subsys_integ_val_offset_x = 142;
4232 HudGaugeDamage* hud_gauge = gauge_load_common<HudGaugeDamage>(settings);
4253 stuff_int(&middle_frame_start_offset_y);
4268 hud_gauge->
initBitmaps(fname_top, fname_middle, fname_bottom);
4278 if(settings->
ship_idx->at(0) >= 0) {
4281 *instance = *hud_gauge;
4282 Ship_info[*ship_index].hud_gauges.push_back(instance);
4292 int header_offsets[2];
4293 int text_val_offset_y;
4294 int text_dock_offset_x;
4295 int text_dock_val_offset_x;
4298 settings->
origin[0] = 0.5f;
4299 settings->
origin[1] = 0.5f;
4302 settings->
offset[0] = -55;
4303 settings->
offset[1] = 94;
4305 header_offsets[0] = 2;
4306 header_offsets[1] = 1;
4307 text_val_offset_y = 14;
4308 text_dock_offset_x = 5;
4309 text_dock_val_offset_x = 63;
4311 settings->
offset[0] = -53;
4312 settings->
offset[1] = 150;
4314 header_offsets[0] = 3;
4315 header_offsets[1] = 2;
4316 text_val_offset_y = 12;
4317 text_dock_offset_x = 6;
4318 text_dock_val_offset_x = 65;
4321 HudGaugeSupport* hud_gauge = gauge_load_common<HudGaugeSupport>(settings);
4345 if(settings->
ship_idx->at(0) >= 0) {
4348 *instance = *hud_gauge;
4349 Ship_info[*ship_index].hud_gauges.push_back(instance);
4359 settings->
origin[0] = 0.5f;
4360 settings->
origin[1] = 0.5f;
4363 settings->
offset[0] = -146;
4364 settings->
offset[1] = -200;
4366 settings->
offset[0] = -133;
4367 settings->
offset[1] = -259;
4372 if(settings->
ship_idx->at(0) >= 0) {
4375 *instance = *hud_gauge;
4376 Ship_info[*ship_index].hud_gauges.push_back(instance);
4388 int scroll_time = 30;
4390 int total_life = 14000;
4391 int line_height = 9;
4392 bool hidden_by_comms_menu =
true;
4394 settings->
origin[0] = 0.0f;
4395 settings->
origin[1] = 0.0f;
4405 HudGaugeMessages* hud_gauge = gauge_load_common<HudGaugeMessages>(settings);
4437 if(settings->
ship_idx->at(0) >= 0) {
4440 *instance = *hud_gauge;
4441 Ship_info[*ship_index].hud_gauges.push_back(instance);
4455 settings->
coords[0] = 0x8000;
4456 settings->
coords[1] = 5 + (h * 3);
4460 if(settings->
ship_idx->at(0) >= 0) {
4463 *instance = *hud_gauge;
4464 Ship_info[*ship_index].hud_gauges.push_back(instance);
4482 settings->
origin[0] = 0.5f;
4483 settings->
origin[1] = 0.5f;
4484 settings->
slew =
true;
4487 settings->
offset[0] = 54;
4501 strcpy_s(fname_arc,
"rightarc1_fs1");
4502 strcpy_s(fname_primary_link_1,
"rightarc2_fs1");
4503 strcpy_s(fname_primary_link_2,
"rightarc3_fs1");
4504 strcpy_s(fname_secondary_link_1,
"rightarc4_fs1");
4505 strcpy_s(fname_secondary_link_2,
"rightarc5_fs1");
4506 strcpy_s(fname_secondary_link_3,
"rightarc6_fs1");
4508 settings->
offset[0] = 86;
4522 strcpy_s(fname_arc,
"2_rightarc1_fs1");
4523 strcpy_s(fname_primary_link_1,
"2_rightarc2_fs1");
4524 strcpy_s(fname_primary_link_2,
"2_rightarc3_fs1");
4525 strcpy_s(fname_secondary_link_1,
"2_rightarc4_fs1");
4526 strcpy_s(fname_secondary_link_2,
"2_rightarc5_fs1");
4527 strcpy_s(fname_secondary_link_3,
"2_rightarc6_fs1");
4571 hud_gauge->
initBitmaps(fname_arc, fname_primary_link_1, fname_primary_link_2, fname_secondary_link_1, fname_secondary_link_2, fname_secondary_link_3);
4573 if(settings->
ship_idx->at(0) >= 0) {
4576 *instance = *hud_gauge;
4577 Ship_info[*ship_index].hud_gauges.push_back(instance);
4587 settings->
origin[0] = 0.0f;
4588 settings->
origin[1] = 0.5f;
4592 settings->
offset[1] = -90;
4595 settings->
offset[1] = -144;
4598 HudGaugeMultiMsg* hud_gauge = gauge_load_common<HudGaugeMultiMsg>(settings);
4600 if(settings->
ship_idx->at(0) >= 0) {
4603 *instance = *hud_gauge;
4604 Ship_info[*ship_index].hud_gauges.push_back(instance);
4614 settings->
origin[0] = 0.0f;
4615 settings->
origin[1] = 0.5f;
4619 settings->
offset[1] = -75;
4622 settings->
offset[1] = -129;
4627 if(settings->
ship_idx->at(0) >= 0) {
4630 *instance = *hud_gauge;
4631 Ship_info[*ship_index].hud_gauges.push_back(instance);
4641 settings->
origin[0] = 1.0f;
4642 settings->
origin[1] = 0.0f;
4645 settings->
offset[0] = -80;
4648 settings->
offset[0] = -128;
4652 HudGaugePing* hud_gauge = gauge_load_common<HudGaugePing>(settings);
4654 if(settings->
ship_idx->at(0) >= 0) {
4657 *instance = *hud_gauge;
4658 Ship_info[*ship_index].hud_gauges.push_back(instance);
4668 settings->
origin[0] = 0.5f;
4669 settings->
origin[1] = 0.5f;
4672 settings->
offset[0] = -220;
4673 settings->
offset[1] = -140;
4675 settings->
offset[0] = -342;
4676 settings->
offset[1] = -214;
4681 if(settings->
ship_idx->at(0) >= 0) {
4684 *instance = *hud_gauge;
4685 Ship_info[*ship_index].hud_gauges.push_back(instance);
4703 bool loop_locked_anim;
4712 Lock_gauge_half_w = 15;
4713 Lock_gauge_half_h = 15;
4714 Lockspin_half_w = 16;
4715 Lockspin_half_h = 16;
4716 Lock_triangle_height = 4.0f;
4717 Lock_triangle_base = 4.0f;
4718 Lock_target_box_width = 19;
4719 Lock_target_box_height = 30;
4720 loop_locked_anim =
true;
4723 strcpy_s(fname_spin,
"lockspin_fs1");
4725 Lock_gauge_half_w = 24;
4726 Lock_gauge_half_h = 25;
4727 Lockspin_half_w = 26;
4728 Lockspin_half_h = 26;
4729 Lock_triangle_height = 6.5f;
4730 Lock_triangle_base = 6.5f;
4731 Lock_target_box_width = 19;
4732 Lock_target_box_height = 30;
4733 loop_locked_anim =
true;
4735 strcpy_s(fname_lock,
"2_lock1_fs1");
4736 strcpy_s(fname_spin,
"2_lockspin_fs1");
4740 Lock_gauge_half_w = 17;
4741 Lock_gauge_half_h = 15;
4742 Lockspin_half_w = 31;
4743 Lockspin_half_h = 32;
4744 Lock_triangle_height = 4.0f;
4745 Lock_triangle_base = 4.0f;
4746 Lock_target_box_width = 19;
4747 Lock_target_box_height = 30;
4748 loop_locked_anim =
false;
4753 Lock_gauge_half_w = 28;
4754 Lock_gauge_half_h = 25;
4755 Lockspin_half_w = 50;
4756 Lockspin_half_h = 52;
4757 Lock_triangle_height = 6.5f;
4758 Lock_triangle_base = 6.5f;
4759 Lock_target_box_width = 19;
4760 Lock_target_box_height = 30;
4761 loop_locked_anim =
false;
4764 strcpy_s(fname_spin,
"2_lockspin");
4768 HudGaugeLock* hud_gauge = gauge_load_common<HudGaugeLock>(settings);
4781 Lock_gauge_half_w = temp[0];
4782 Lock_gauge_half_h = temp[1];
4789 Lockspin_half_w = temp[0];
4790 Lockspin_half_h = temp[1];
4801 if(settings->
ship_idx->at(0) >= 0) {
4804 *instance = *hud_gauge;
4805 Ship_info[*ship_index].hud_gauges.push_back(instance);
4824 Max_offscreen_tri_seperation = 10.0f;
4825 Max_front_seperation = 10.0f;
4826 Offscreen_tri_base = 6.0f;
4827 Offscreen_tri_height = 7.0f;
4829 Max_offscreen_tri_seperation = 16.0f;
4830 Max_front_seperation = 16.0f;
4831 Offscreen_tri_base = 9.5f;
4832 Offscreen_tri_height = 11.0f;
4842 if(settings->
ship_idx->at(0) >= 0) {
4845 *instance = *hud_gauge;
4846 Ship_info[*ship_index].hud_gauges.push_back(instance);
4856 int min_target_box[2];
4857 int min_subtarget_box[2];
4864 min_target_box[0] = 20;
4865 min_target_box[1] = 20;
4866 min_subtarget_box[0] = 12;
4867 min_subtarget_box[1] = 12;
4869 min_target_box[0] = 30;
4870 min_target_box[1] = 30;
4871 min_subtarget_box[0] = 24;
4872 min_subtarget_box[1] = 24;
4875 HudGaugeBrackets* hud_gauge = gauge_load_common<HudGaugeBrackets>(settings);
4885 if(settings->
ship_idx->at(0) >= 0) {
4888 *instance = *hud_gauge;
4889 Ship_info[*ship_index].hud_gauges.push_back(instance);
4903 settings->
origin[0] = 0.5f;
4904 settings->
origin[1] = 0.5f;
4905 settings->
slew =
true;
4911 Target_triangle_base = 6.0f;
4912 Target_triangle_height = 7.0f;
4918 Target_triangle_base = 9.5f;
4919 Target_triangle_height = 11.0f;
4939 if(settings->
ship_idx->at(0) >= 0) {
4942 *instance = *hud_gauge;
4943 Ship_info[*ship_index].hud_gauges.push_back(instance);
4957 settings->
origin[0] = 0.5f;
4958 settings->
origin[1] = 0.5f;
4959 settings->
slew =
true;
4965 Target_triangle_base = 6.0f;
4966 Target_triangle_height = 7.0f;
4972 Target_triangle_base = 9.5f;
4973 Target_triangle_height = 11.0f;
4993 if(settings->
ship_idx->at(0) >= 0) {
4996 *instance = *hud_gauge;
4997 Ship_info[*ship_index].hud_gauges.push_back(instance);
5011 settings->
origin[0] = 0.5f;
5012 settings->
origin[1] = 0.5f;
5013 settings->
slew =
true;
5019 Target_triangle_base = 6.0f;
5020 Target_triangle_height = 7.0f;
5026 Target_triangle_base = 9.5f;
5027 Target_triangle_height = 11.0f;
5047 if(settings->
ship_idx->at(0) >= 0) {
5050 *instance = *hud_gauge;
5051 Ship_info[*ship_index].hud_gauges.push_back(instance);
5069 Lead_indicator_half[0] = 12.5f;
5070 Lead_indicator_half[1] = 12.5f;
5074 Lead_indicator_half[0] = 20.0f;
5075 Lead_indicator_half[1] = 20.0f;
5081 Lead_indicator_half[0] = 8.0f;
5082 Lead_indicator_half[1] = 8.0f;
5086 Lead_indicator_half[0] = 13.0f;
5087 Lead_indicator_half[1] = 13.0f;
5103 Lead_indicator_half[0] =
i2fl(temp[0]);
5104 Lead_indicator_half[1] =
i2fl(temp[1]);
5107 hud_gauge->
initHalfSize(Lead_indicator_half[0], Lead_indicator_half[1]);
5110 if(settings->
ship_idx->at(0) >= 0) {
5113 *instance = *hud_gauge;
5114 Ship_info[*ship_index].hud_gauges.push_back(instance);
5126 settings->
origin[0] = 0.5f;
5127 settings->
origin[1] = 0.5f;
5128 settings->
slew =
true;
5150 if(settings->
ship_idx->at(0) >= 0) {
5153 *instance = *hud_gauge;
5154 Ship_info[*ship_index].hud_gauges.push_back(instance);
5166 settings->
origin[0] = 0.5f;
5167 settings->
origin[1] = 0.5f;
5168 settings->
slew =
true;
5186 if(settings->
ship_idx->at(0) >= 0) {
5189 *instance = *hud_gauge;
5190 Ship_info[*ship_index].hud_gauges.push_back(instance);
5200 int text_offsets[2] = {6, 4};
5201 int text_value_offsets[2] = {74, 4};
5204 settings->
origin[0] = 1.0f;
5205 settings->
origin[1] = 1.0f;
5208 settings->
offset[0] = -143;
5209 settings->
offset[1] = -119;
5212 text_value_offsets[0] = 118;
5213 text_value_offsets[1] = 4;
5216 settings->
offset[0] = -144;
5217 settings->
offset[1] = -144;
5220 text_value_offsets[0] = 104;
5221 text_value_offsets[1] = 4;
5225 HudGaugeKills* hud_gauge = gauge_load_common<HudGaugeKills>(settings);
5241 if(settings->
ship_idx->at(0) >= 0) {
5244 *instance = *hud_gauge;
5245 Ship_info[*ship_index].hud_gauges.push_back(instance);
5258 Marker_half[0] = 21;
5259 Marker_half[1] = 21;
5272 hud_gauge->
initHalfSize(Marker_half[0], Marker_half[1]);
5275 if(settings->
ship_idx->at(0) >= 0) {
5278 *instance = *hud_gauge;
5279 Ship_info[*ship_index].hud_gauges.push_back(instance);
5289 int warhead_name_offsets[2] = {6, 4};
5290 int warhead_count_offsets[2] = {74, 4};
5292 int icon_height = 0;
5294 int max_columns = 0;
5298 settings->
origin[0] = 1.0f;
5299 settings->
origin[1] = 1.0f;
5300 settings->
slew =
true;
5303 settings->
offset[0] = -143;
5304 settings->
offset[1] = -119;
5306 settings->
offset[0] = -144;
5307 settings->
offset[1] = -144;
5349 hud_gauge->
initNameOffsets(warhead_name_offsets[0], warhead_name_offsets[1]);
5350 hud_gauge->
initCountOffsets(warhead_count_offsets[0], warhead_count_offsets[1]);
5356 if(settings->
ship_idx->at(0) >= 0) {
5359 *instance = *hud_gauge;
5360 Ship_info[*ship_index].hud_gauges.push_back(instance);
5370 int sizes[2] = {150, 150};
5371 float line_width = 1.0f;
5373 bool show_primary =
false;
5374 bool show_secondary =
true;
5376 settings->
origin[0] = 1.0f;
5377 settings->
origin[1] = 1.0f;
5380 settings->
offset[0] = -244;
5381 settings->
offset[1] = -101;
5383 settings->
offset[0] = -390;
5384 settings->
offset[1] = -98;
5413 hud_gauge->
initSizes(sizes[0], sizes[1]);
5418 if(settings->
ship_idx->at(0) >= 0) {
5421 *instance = *hud_gauge;
5422 Ship_info[*ship_index].hud_gauges.push_back(instance);
5435 int header_offsets[2] = {2, 2};
5436 char header_text[
NAME_LENGTH] =
"Primary Weapons";
5437 int first_bg_h = 12;
5438 int first_bg_offset_x = 0;
5439 int entry_bg_h = 12;
5440 int entry_bg_offset_x = 0;
5441 int last_bg_offset_x = 0;
5442 int last_bg_offset_y = 0;
5444 int entry_start_offset_y = 12;
5515 hud_gauge->
initBitmaps(fname_first, fname_entry, fname_last);
5531 if(settings->
ship_idx->at(0) >= 0) {
5534 *instance = *hud_gauge;
5535 Ship_info[*ship_index].hud_gauges.push_back(instance);
5548 int header_offsets[2] = {2, 2};
5549 char header_text[
NAME_LENGTH] =
"Secondary Weapons";
5550 int first_bg_h = 12;
5551 int first_bg_offset_x = 0;
5552 int entry_bg_h = 12;
5553 int entry_bg_offset_x = 0;
5554 int last_bg_offset_x = 0;
5555 int last_bg_offset_y = 0;
5557 int entry_start_offset_y = 12;
5638 hud_gauge->
initBitmaps(fname_first, fname_entry, fname_last);
5656 if(settings->
ship_idx->at(0) >= 0) {
5659 *instance = *hud_gauge;
5660 Ship_info[*ship_index].hud_gauges.push_back(instance);
void load_gauge_radar_std(gauge_settings *settings)
void load_gauge_target_shields(gauge_settings *settings)
void load_gauge_supernova(gauge_settings *settings)
void initPrimaryNameOffsetX(int x)
void initMaxTriSeperation(float length)
void initShipStatusOffsets(int x, int y)
void initBottomOffsets(int _x, int _y)
int ship_info_lookup(const char *token)
void initSecondaryHeights(int top_h, int text_h)
void init1PrimaryOffsets(int x, int y)
#define HUD_OBJECT_WINGMAN_STATUS
void initViewportOffsets(int x, int y)
void initBitmaps(char *fname_top, char *fname_middle, char *fname_bottom)
int hud_config_show_flag_is_set(int i)
void initCountTextOffsets(int x, int y)
void load_gauge_weapons(gauge_settings *settings)
void initDesaturate(bool desaturate)
void initBgFirstOffsetX(int x)
void initGlideOffsets(int x, int y, bool custom)
void load_gauge_missile_tri(gauge_settings *settings)
void load_gauge_player_shields(gauge_settings *settings)
#define HUD_OBJECT_ESCORT
void load_gauge_mini_shields(gauge_settings *settings)
void initBitmaps(char *fname_top, char *fname_middle, char *fname_bottom)
void initPgDnOffsets(int x, int y)
int Lock_gauge_half_w[NUM_HUD_RETICLE_STYLES][GR_NUM_RESOLUTIONS]
void load_gauge_radar_dradis(gauge_settings *settings)
#define LINK_THREE_SECONDARY
#define LINK_TWO_SECONDARY
int check_for_string(const char *pstr)
GLfloat GLfloat GLfloat GLfloat h
void initAlwaysShowText(bool show_text)
void initFirepointDisplay(bool firepoint, int scaleX, int scaleY, int size)
void initBitmaps(char *fname)
bool check_base_res(int *res)
void initOnColor(int r, int g, int b, int a)
#define LINK_ONE_SECONDARY
void initPrimaryWeaponOffsets(int link_x, int name_x, int ammo_x)
#define HUD_OBJECT_LEAD_SIGHT
void load_gauge_voice_status(gauge_settings *settings)
void initWingmate4Offsets(int x, int y)
void initPrimaryAmmoOffsetX(int x)
void load_gauge_lock(gauge_settings *settings)
void load_gauge_extra_target_data(gauge_settings *settings)
void initBitmaps(char *fname)
void initStartNameOffsetsY(int p_y, int s_y)
void initSecondaryWeaponOffsets(int ammo_x, int name_x, int reload_x, int linked_x, int unlinked_x)
void initRadius(int length)
float Max_front_seperation[GR_NUM_RESOLUTIONS]
void load_gauge_center_reticle(gauge_settings *settings)
void load_gauge_secondary_weapons(gauge_settings *settings)
void initWingmate6Offsets(int x, int y)
void initBitmaps(const char *fname_top, const char *fname_middle, const char *fname_bottom)
void updateActive(bool show)
void _cdecl void void _cdecl void _cdecl Warning(char *filename, int line, SCP_FORMAT_STRING const char *format,...) SCP_FORMAT_STRING_ARGS(3
void initMaxLines(int lines)
void initValueOffsets(int x, int y)
void load_gauge_mission_time(gauge_settings *settings)
void load_gauge_auto_target(gauge_settings *settings)
int Targetbox_shader_effect
#define HUD_OBJECT_AUTO_SPEED
#define HUD_OBJECT_DAMAGE
void initEntryStartY(int y)
void gr_init_alphacolor(color *clr, int r, int g, int b, int alpha, int type)
void initBitmap(char *fname)
void load_gauge_escort_view(gauge_settings *settings)
#define HUD_OBJECT_HARDPOINTS
void initSecondaryAmmoOffsetX(int x)
void load_gauge_fixed_messages(gauge_settings *settings)
void load_gauge_target_tri(gauge_settings *settings)
void initMaxLineWidth(int w)
void initSubspaceTextOffsetY(int y)
#define HUD_OBJECT_TARGET_SHIELD
void updateColor(int r, int g, int b, int a=255)
void initSecondaryReloadOffsetX(int x)
void initObjTextOffsetY(int y)
void initShipNameMaxWidth(int w)
void initBitmaps(char *fname)
void initRedAlertTextOffsetY(int y)
void initBottomBgOffset(int offset)
void initBitmaps(const char *fname)
#define HUD_OBJECT_RADAR_BSG
void initLetterOffsets(int _x, int _y)
void initEntryHeight(int h)
void initLeftFrameEndX(int x)
void load_gauge_multi_msg(gauge_settings *settings)
color clr[NUM_HUD_GAUGES]
float Target_triangle_base[GR_NUM_RESOLUTIONS]
void initCargoStringOffsets(int x, int y)
#define Assertion(expr, msg,...)
float Max_offscreen_tri_seperation[GR_NUM_RESOLUTIONS]
#define HUD_OBJECT_ETS_SHIELDS
void initSound(int loop_snd, float _loop_sound_volume, int arrival_snd, int departue_snd, int stealth_arrival_snd, int stealth_departue_snd, float arrival_delay, float departure_delay)
void initCockpitTarget(const char *display_name, int _target_x, int _target_y, int _target_w, int _target_h, int _canvas_w, int _canvas_h)
void load_gauge_afterburner(gauge_settings *settings)
void initShipNameOffsets(int x, int y)
void initBitmaps(const char *fname)
void initFixedHeaderPosition(bool fixed)
#define HUD_OBJECT_MINI_SHIELD
void initTextValueOffsetY(int y)
#define HUD_OBJECT_RADAR_ORB
void initBottomBgOffset(int offset)
void initBlipRadius(int normal, int target)
void load_gauge_ets_engines(gauge_settings *settings)
void initCountSizes(int w, int h)
#define HUD_OBJECT_TARGET_TRI
float Offscreen_tri_base[GR_NUM_RESOLUTIONS]
void initIntegrityOffsets(int x, int y)
void initTextValueOffsets(int x, int y)
void initOffColor(int r, int g, int b, int a)
#define MAX_SHIPS_PER_WING
void initTextOffsets(int x, int y)
void initSubsysNameOffsets(int x, int y, bool activate)
void initBaseResolution(int w, int h)
#define HUD_OBJECT_SQUAD_MSG
void initTriBase(float length)
void initDrawOptions(bool primary_models, bool secondary_models)
int required_string_either(char *str1, char *str2)
Checks for one of two required strings.
void initBitmaps(const char *fname)
void initSubsysIntegrityOffsets(int x, int y, bool activate)
void initBitmaps(char *lock_gauge_fname, char *lock_anim_fname)
void load_gauge_orientation_tee(gauge_settings *settings)
void initMiddleFrameStartOffsetY(int y)
void initAutoTextOffsets(int x, int y)
void load_gauge_wingman_status(gauge_settings *settings)
void initRightBgOffset(int offset)
void adjust_for_multimonitor(int *base_res, bool set_position, int *coords)
void initBitmapsPrimaryTop(char *fname, char *fname_ballistic)
void stuff_float(float *f)
void initHeaderTextOffsets(int x, int y)
#define HUD_OBJECT_TARGET_MONITOR
void initBitmaps(char *fname_arc, char *fname_primary_link_1, char *fname_primary_link_2, char *fname_secondary_link_1, char *fname_secondary_link_2, char *fname_secondary_link_3)
void initTriHeight(float length)
void initTextOffsets(int x, int y)
#define HUD_OBJECT_ETS_ENGINES
void hud_init_ballistic_index()
#define HUD_OBJECT_ETS_RETAIL
void initAburnHeight(int h)
void initRedAlertValueOffsetY(int y)
void updatePopUp(bool pop_up_flag)
void initTextDockValueOffsetX(int x)
void load_gauge_messages(gauge_settings *settings)
void load_gauge_support(gauge_settings *settings)
int Lockspin_half_h[NUM_HUD_RETICLE_STYLES][GR_NUM_RESOLUTIONS]
void initFont(int input_font_num)
typedef int(SCP_EXT_CALLCONV *SCPDLL_PFVERSION)(SCPDLL_Version *)
void initTriHeight(float h)
void initEnergyHeight(int h)
void initBgLastOffsetX(int x)
SCP_vector< HudGauge * > default_hud_gauges
void initGaugePositions(int *_gauge_positions)
void initBitmaps(char *fname)
void hud_positions_init()
void initEnergyHeight(int h)
void parse_sound(const char *tag, int *idx_dest, const char *object_name, parse_sound_flags flags)
void initAnimOffsets(int x, int y)
#define HUD_OBJECT_RADAR_STD
void initItemHeight(int h)
void initShipIntegrityOffsets(int x, int y)
#define HUD_OBJECT_SUPPORT
float Offscreen_tri_height[GR_NUM_RESOLUTIONS]
void initRenderStatus(bool render)
GLdouble GLdouble GLdouble r
void load_gauge_radar_orb(gauge_settings *settings)
void initThrottleSizes(int w, int h)
#define HUD_OBJECT_MISSION_TIME
#define HUD_OBJECT_CUSTOM
void initOnColor(int r, int g, int b, int a)
#define HUD_OBJECT_MISSILE_TRI
void initBitmaps(char *fname)
void initLaserWarnOffsets(int x, int y)
const int num_retail_ets_gauges
void load_gauge_ets_shields(gauge_settings *settings)
void initSubsysIntegStartOffsets(int x, int y)
#define HUD_OBJECT_CENTER_RETICLE
SCP_vector< int > * ship_idx
void check_color(int *colorp)
void init2SecondaryOffsets(int x, int y)
void load_gauge_ets_retail(gauge_settings *settings)
void initBottomBgOffset(int offset)
int cf_exists_full(const char *filename, int dir_type)
void initStatusOffsets(int x, int y)
#define HUD_OBJECT_TRAINING_MESSAGES
void load_gauge_lead_sight(gauge_settings *settings)
void initBitmaps(char *fname_monitor, char *fname_monitor_mask, char *fname_integrity, char *fname_static)
void initTargetBoxSize(int w, int h)
#define HUD_OBJECT_TALKING_HEAD
void initHiddenByCommsMenu(bool hide)
void initMinSubTargetBoxSizes(int w, int h)
#define HUD_OBJECT_MULTI_MSG
void initHeaderText(char *text)
void initBitmapsPrimaryLast(char *fname, char *fname_ballistic)
void initMultipleWingOffsets(int x, int y)
void initBitmaps(char *fname)
void load_gauge_ping(gauge_settings *settings)
void load_gauge_hardpoints(gauge_settings *settings)
void initAutoTextOffsets(int x, int y)
void initGrowMode(int mode)
void stuff_string(char *outstr, int type, int len, char *terminators)
void initRadius(int w, int h)
void initBitmaps(char *fname_left, char *fname_middle, char *fname_right, char *fname_dots)
void load_gauge_damage(gauge_settings *settings)
void initOrbitRadius(int radius)
#define HUD_OBJECT_FIXED_MESSAGES
void initRightAlignNames(bool align)
#define NUM_WEAPON_LINK_MODES
void initDisabledStatusOffsets(int x, int y, bool activate)
void initMiddleFrameOffsetY(int y)
void load_gauge_squad_message(gauge_settings *settings)
void load_gauge_directives(gauge_settings *settings)
void initCargoScanStartOffsets(int x, int y)
void initHalfSize(float w, float h)
void load_gauge_training_messages(gauge_settings *settings)
void initHullOffsets(int x, int y)
void initBitmaps(char *fname)
int required_string(const char *pstr)
#define HUD_OBJECT_ORIENTATION_TEE
void initItemStartOffsets(int x, int y)
void initLoopLockedAnim(bool loop)
void init1DigitOffsets(int x, int y)
void initBitmaps(char *fname_xy, char *fname_xz_yz, char *fname_sweep, char *fname_target_brackets, char *fname_unknown)
void initHeaderOffsets(int x, int y)
void initMoveText(bool move_text)
void initTopOffsets(int _x, int _y)
void initLineHeight(int h)
void initBitmaps(const char *fname)
#define HUD_OBJECT_MESSAGES
void initBitmaps(char *fname)
int hud_config_popup_flag_is_set(int i)
int optional_string(const char *pstr)
void initTopOffsetX(int x, int x_b)
void initSecondaryNameOffsetX(int x)
void initDistanceLongOffsets(int x, int y)
#define HUD_OBJECT_THREAT
void initObjValueOffsetY(int y)
#define HUD_OBJECT_CMEASURES
void load_gauge_talking_head(gauge_settings *settings)
void load_gauge_offscreen(gauge_settings *settings)
void initPrimaryLinkOffsetX(int x)
void read_file_text(const char *filename, int mode, char *processed_text, char *raw_text)
int skip_to_start_of_string_either(char *pstr1, char *pstr2, char *end)
#define HUD_OBJECT_AFTERBURNER
void initBgEntryOffsetX(int x)
void initBitmaps(char *fname)
void initBitmaps(const char *fname)
void initMaxSymbols(int count)
void load_gauge_brackets(gauge_settings *settings)
void initMiddleFrameStartOffsetY(int y)
void initPrimaryHeights(int top_h, int text_h)
const char * XSTR(const char *str, int index)
void initIntegrityHeight(int h)
void initHeaderText(char *text)
void initHeaderOffsets(int x, int y)
void stuff_boolean(int *i, bool a_to_eol)
void parse_hud_gauges_tbl(const char *filename)
void init2PrimaryOffsets(int x, int y)
void load_gauge_throttle(gauge_settings *settings)
void _cdecl void void _cdecl Error(const char *filename, int line, SCP_FORMAT_STRING const char *format,...) SCP_FORMAT_STRING_ARGS(3
void initBitmapsSecondaryBottom(char *fname, char *fname_ballistic)
void initShowBallistics(bool show_ballistics)
void initPgUpOffsets(int x, int y)
#define HUD_OBJECT_AUTO_TARGET
void load_missing_retail_gauges()
void reset_parse(char *text)
void initSubsysIntegValueOffsetX(int x)
GLuint const GLchar * name
#define HUD_OBJECT_HOSTILE_TRI
void initLetters(char *_letters)
T * gauge_load_common(gauge_settings *settings, T *preAllocated=NULL)
void load_gauge_text_warnings(gauge_settings *settings)
void initAnimSizes(int w, int h)
void initDistOffsets(int x, int y)
void initLockWarnOffsets(int x, int y)
void load_gauge_warhead_count(gauge_settings *settings)
void initHeaderOffsets(int x, int y)
GLboolean GLboolean GLboolean b
#define HUD_OBJECT_OFFSCREEN
void initTextStartOffsets(int x, int y)
int stuff_int_list(int *ilp, int max_ints, int lookup_type)
void init2DigitOffsets(int x, int y)
#define HUD_OBJECT_BRACKETS
void initMatchSpeedOffsets(int x, int y, bool custom)
#define HUD_RETICLE_STYLE_FS1
#define HUD_OBJECT_WEAPONS
void init3SecondaryOffsets(int x, int y)
typedef float(SCP_EXT_CALLCONV *SCPTRACKIR_PFFLOATVOID)()
int Force_scaling_above_res_global[2]
void initLetter(char _letter)
void initRadius(int length)
int Lock_gauge_half_h[GR_NUM_RESOLUTIONS]
void load_gauge_target_monitor(gauge_settings *settings)
void initSpeedTextOffsets(int x, int y)
void load_gauge_lag(gauge_settings *settings)
void initBgFirstHeight(int h)
void initHeaderOffsets(int x, int y)
void init1SecondaryOffsets(int x, int y)
void initTextHeight(int h)
void initSpinHalfSize(int w, int h)
void load_gauge_objective_notify(gauge_settings *settings)
float Target_triangle_height[GR_NUM_RESOLUTIONS]
void initTextAlign(int align)
void load_gauge_primary_weapons(gauge_settings *settings)
void initHeaderOffsets(int x, int y)
void initBitmapsSecondaryMiddle(char *fname, char *fname_ballistic)
int optional_string_either(char *str1, char *str2)
void initAlignments(int text_align, int armed_align)
void initBitmaps(char *fname)
void initCountValueOffsets(int x, int y)
void initTextOffsets(int x, int y)
float Lock_triangle_base[GR_NUM_RESOLUTIONS]
void initArmedOffsets(int x, int y, int h, bool show)
#define HUD_OBJECT_SUPERNOVA
float Hud_speed_multiplier
void initZeroSpeedOffsets(int x, int y, bool show)
#define HUD_OBJECT_EXTRA_TARGET_DATA
#define HUD_OBJECT_FLIGHT_PATH
void initBgEntryHeight(int h)
int Lockspin_half_w[NUM_HUD_RETICLE_STYLES][GR_NUM_RESOLUTIONS]
void initSecondaryLinkedOffsetX(int x)
void initSizes(int w, int h)
void initCenterOffsets(float x, float y)
void initWingNameOffsets(int x, int y)
void initFrameOffsetX(int x, int x_b)
void initBitmaps(char *fname)
#define HUD_OBJECT_VOICE_STATUS
void initNameOffsets(int x, int y)
void initBgLastOffsetY(int x)
void initSingleWingOffsets(int x, int y)
void init3DigitOffsets(int x, int y)
void initViewDir(int dir)
void initMaxWidth(int width)
void initBitmapsSecondaryTop(char *fname, char *fname_ballistic)
HUD_CONFIG_TYPE HUD_config
SCP_vector< ship_info > Ship_info
#define HUD_OBJECT_THROTTLE
void initTriBase(float length)
void initBitmaps(char *fname)
void initBitmaps(char *fname_top, char *fname_middle, char *fname_bottom)
float Hud_unit_multiplier
void initWingmate1Offsets(int x, int y)
void initTargetTextOffsets(int x, int y)
void load_gauge_countermeasures(gauge_settings *settings)
void initSubspaceValueOffsetY(int y)
#define HUD_RETICLE_STYLE_FS2
void error_display(int error_level, char *format,...)
void initSpeedOffsets(int x, int y)
void load_gauge_auto_speed(gauge_settings *settings)
void initEntryHeight(int h)
char * HUD_gauge_text[NUM_HUD_GAUGES]
void initGaugeHalfSize(int w, int h)
void initHullIntegValueOffsetX(int x)
void initDistanceInfinityOffsets(int x, int y)
void initDistanceShortOffsets(int x, int y)
void initViewportSize(int w, int h)
int parse_modular_table(const char *name_check, void(*parse_callback)(const char *filename), int path_type, int sort_type)
int Lock_target_box_width[GR_NUM_RESOLUTIONS]
void initWingmate3Offsets(int x, int y)
#define HUD_OBJECT_DIRECTIVES
void initTotalLife(int ms)
void initBitmaps(char *fname_arc, char *fname_laser, char *fname_lock)
void initListStartOffsets(int x, int y)
void initCenterOffsets(float x, float y)
void initBitmapsPrimaryMiddle(char *fname, char *fname_ballistic)
void initOrbitCenterOffsets(int x, int y, bool orbiting)
void initBitmaps(const char *fname)
#define HUD_OBJECT_PLAYER_SHIELD
void lockConfigColor(bool lock)
void initBitmaps(char *fname)
void initMinTargetBoxSizes(int w, int h)
#define HUD_OBJECT_WEAPON_LINKING
void initHeaderOffsets(int x, int y)
void load_gauge_hostile_tri(gauge_settings *settings)
void initBitmaps(char *fname_first, char *fname_entry, char *fname_last)
#define HUD_OBJECT_WEAPON_ENERGY
#define HUD_CENTER_RETICLE
#define HUD_OBJECT_WARHEAD_COUNT
void load_gauge_ets_weapons(gauge_settings *settings)
void initClassOffsets(int x, int y)
void initMaxFrontSeperation(float length)
void initCountOffsets(int x, int y)
void initBitmaps(char *fname)
void initBarHeight(int _ets_bar_h)
void initHullIntegOffsets(int x, int y)
void gr_set_font(int fontnum)
int Lock_target_box_height[GR_NUM_RESOLUTIONS]
void load_gauge_lead(gauge_settings *settings)
int stuff_float_list(float *flp, int max_floats)
void showBackground(bool show)
void initTriHeight(float h)
void initPosition(int x, int y)
#define HUD_OBJECT_OBJ_NOTIFY
void initHeaderOffsets(int x, int y, int x_b, int y_b)
void load_gauge_threat_indicator(gauge_settings *settings)
float Lock_triangle_height[GR_NUM_RESOLUTIONS]
void initTextDockOffsetX(int x)
void initLineHeight(int h)
void adjust_base_res(int *base_res, int *force_scaling_above_res, bool scaling=true)
void initSecondaryUnlinkedOffsetX(int x)
#define HUD_OBJECT_ETS_WEAPONS
void initScrollTime(int ms)
flag_def_list Hud_gauge_types[]
void initWingWidth(int w)
void initLineWidth(float w)
void load_gauge_kills(gauge_settings *settings)
void load_gauge_weapon_linking(gauge_settings *settings)
void initBitmap(const char *fname)
void initBottomBgOffset(int offset)
#define HUD_OBJECT_SECONDARY_WEAPONS
void initNameOffsets(int x, int y)
void initHalfSize(int w, int h)
void initCargoScanSize(int w, int h)
void load_gauge(int gauge, gauge_settings *settings)
float Lead_indicator_half[NUM_HUD_RETICLE_STYLES][GR_NUM_RESOLUTIONS][2]
int skip_to_start_of_string(char *pstr, char *end)
void load_gauge_weapon_energy(gauge_settings *settings)
void initMaxSpeedOffsets(int x, int y, bool show)
void load_gauge_flight_path(gauge_settings *settings)
#define HUD_OBJECT_PRIMARY_WEAPONS
int force_scaling_above_res[2]
void initMaxColumns(int count)
void initHeaderOffsets(int x, int y)
void initThrottleStartY(int y)
void load_gauge_custom(gauge_settings *settings)
void initEntryStaggerWidth(int w)
void initTargetSpeedOffsets(int x, int y, bool show, bool percent)
void initTriBase(float length)
void initItemOffsetX(int x)
#define HUD_OBJECT_TEXT_WARNINGS
void initWingmate5Offsets(int x, int y)
void initWingmate2Offsets(int x, int y)
void initOffColor(int r, int g, int b, int a)