@@ -446,14 +446,18 @@ void parse_hud_gauges_tbl(const char *filename)
446446 gauge_type = parse_gauge_type ();
447447
448448 // change some of the default gauge settings to the appropriate values.
449- gauge_settings settings (&ship_classes, use_font, scale_gauge, force_scaling_above_res, use_clr_p);
449+ gauge_settings settings;
450+ settings.font_num = use_font;
451+ settings.scale_gauge = scale_gauge;
452+ memcpy (settings.force_scaling_above_res , force_scaling_above_res, sizeof (settings.force_scaling_above_res ));
453+ settings.ship_idx = &ship_classes;
454+ settings.use_clr = use_clr_p;
450455
451456 // if "default" is specified, then the base resolution is {-1, -1},
452457 // indicating GR_640 or GR_1024 to the handlers. otherwise, change it
453458 // to the given base resolution.
454459 if (!optional_string (" default" )) {
455- settings.base_res [0 ] = base_res[0 ];
456- settings.base_res [1 ] = base_res[1 ];
460+ memcpy (settings.base_res , base_res, sizeof (settings.base_res ));
457461 }
458462
459463 // then call the specific gauge load handler function for this gauge type.
@@ -573,7 +577,8 @@ void load_missing_retail_gauges()
573577 }
574578
575579 if (!retail_gauge_loaded) {
576- gauge_settings settings (&sindex);
580+ gauge_settings settings;
581+ settings.ship_idx = &sindex;
577582 load_gauge (retail_gauges[i], &settings);
578583 }
579584 }
@@ -590,7 +595,8 @@ void load_missing_retail_gauges()
590595
591596 // load radar gauge if not loaded.
592597 if (!retail_gauge_loaded) {
593- gauge_settings settings (&sindex);
598+ gauge_settings settings;
599+ settings.ship_idx = &sindex;
594600 load_gauge ((Cmdline_orb_radar ? HUD_OBJECT_RADAR_ORB : HUD_OBJECT_RADAR_STD), &settings);
595601 }
596602
@@ -604,7 +610,8 @@ void load_missing_retail_gauges()
604610 }
605611
606612 if (!retail_gauge_loaded) {
607- gauge_settings settings (&sindex);
613+ gauge_settings settings;
614+ settings.ship_idx = &sindex;
608615 load_gauge (HUD_OBJECT_WEAPON_LINKING, &settings);
609616 }
610617 }
0 commit comments