// Set the color for the text to be displayed // Goober5000 - changed second parameter from "friendly" (true/false) to "team"; // also changed from hud color or red to team color int hud_escort_set_gauge_color(int index, int team) { int is_flashing = 0; int is_bright = 0; int seen_from_team = (Player_ship != NULL) ? Player_ship->team : -1; shield_hit_info* shi; shi = &Escort_ships[index].hit_info; // multiplayer dogfight if ((Game_mode & GM_MULTIPLAYER) && (Netgame.type_flags & NG_TYPE_DOGFIGHT)) { hud_set_gauge_color(HUD_ESCORT_VIEW); return 0; } // set flashing color if (!timestamp_elapsed(shi->shield_hit_timers[HULL_HIT_OFFSET])) { if (timestamp_elapsed(shi->shield_hit_next_flash[HULL_HIT_OFFSET])) { shi->shield_hit_next_flash[HULL_HIT_OFFSET] = timestamp(SHIELD_FLASH_INTERVAL); shi->shield_show_bright ^= (1 << HULL_HIT_OFFSET); // toggle between default and bright frames } is_flashing = 1; if (shi->shield_show_bright & (1 << HULL_HIT_OFFSET)) { is_bright = 1; } } // Goober5000 - now base this on team color gr_set_color_fast(iff_get_color_by_team_and_object(team, seen_from_team, is_bright, &Objects[Escort_ships[index].objnum])); // Goober5000 - an alternative; same as original but incorporating teams for non-friendlies /* if ((seen_from_team == team) || (seen_from_team < 0)) // :V: sez assume friendly if Player_ship is NULL hud_set_gauge_color(HUD_ESCORT_VIEW, is_bright ? HUD_C_BRIGHT : HUD_C_DIM); else gr_set_color_fast(iff_get_color_by_team(team, seen_from_team, is_bright)); */ // Goober5000 - original color logic /* if ((seen_from_team == team) || (seen_from_team < 0)) // :V: sez assume friendly if Player_ship is NULL hud_set_gauge_color(HUD_ESCORT_VIEW, is_bright ? HUD_C_BRIGHT : HUD_C_DIM); else gr_set_color_fast(is_bright ? &Color_bright_red : &Color_red); */ return is_flashing; }
void radar_stuff_blip_info(object *objp, int is_bright, color **blip_color, int *blip_type) { ship *shipp = NULL; switch(objp->type) { case OBJ_SHIP: shipp = &Ships[objp->instance]; if (shipp->flags & SF_ARRIVING_STAGE_1) { *blip_color = &Radar_colors[RCOL_WARPING_SHIP][is_bright]; *blip_type = BLIP_TYPE_WARPING_SHIP; } else if (ship_is_tagged(objp)) { *blip_color = &Radar_colors[RCOL_TAGGED][is_bright]; *blip_type = BLIP_TYPE_TAGGED_SHIP; } else if (Ship_info[shipp->ship_info_index].flags & (SIF_NAVBUOY|SIF_CARGO)) { *blip_color = &Radar_colors[RCOL_NAVBUOY_CARGO][is_bright]; *blip_type = BLIP_TYPE_NAVBUOY_CARGO; } else { *blip_color = iff_get_color_by_team_and_object(shipp->team, Player_ship->team, is_bright, objp); *blip_type = BLIP_TYPE_NORMAL_SHIP; } break; case OBJ_WEAPON: if ((Weapons[objp->instance].lssm_stage == 2) || (Weapons[objp->instance].lssm_stage == 4)) { *blip_color = &Radar_colors[RCOL_WARPING_SHIP][is_bright]; *blip_type = BLIP_TYPE_WARPING_SHIP; } else { *blip_color = &Radar_colors[RCOL_BOMB][is_bright]; *blip_type = BLIP_TYPE_BOMB; } break; case OBJ_JUMP_NODE: *blip_color = &Radar_colors[RCOL_JUMP_NODE][is_bright]; *blip_type = BLIP_TYPE_JUMP_NODE; break; default: Error(LOCATION, "Illegal blip type in radar."); break; } }
int HudGaugeEscort::setGaugeColorEscort(int index, int team) { int is_flashing = 0; int is_bright = 0; int seen_from_team = (Player_ship != NULL) ? Player_ship->team : -1; // multiplayer dogfight if(MULTI_DOGFIGHT) { setGaugeColor(); return 0; } // set flashing color if (!timestamp_elapsed(Escort_ships[index].escort_hit_timer)) { is_flashing = 1; if (Escort_ships[index].escort_show_bright) { is_bright = 1; } } // Goober5000 - now base this on team color gr_set_color_fast(iff_get_color_by_team_and_object(team, seen_from_team, is_bright, &Objects[Escort_ships[index].objnum])); // Goober5000 - an alternative; same as original but incorporating teams for non-friendlies /* if ((seen_from_team == team) || (seen_from_team < 0)) // :V: sez assume friendly if Player_ship is NULL hud_set_gauge_color(HUD_ESCORT_VIEW, is_bright ? HUD_C_BRIGHT : HUD_C_DIM); else gr_set_color_fast(iff_get_color_by_team(team, seen_from_team, is_bright)); */ // Goober5000 - original color logic /* if ((seen_from_team == team) || (seen_from_team < 0)) // :V: sez assume friendly if Player_ship is NULL hud_set_gauge_color(HUD_ESCORT_VIEW, is_bright ? HUD_C_BRIGHT : HUD_C_DIM); else gr_set_color_fast(is_bright ? &Color_bright_red : &Color_red); */ return is_flashing; }