/* * Render a shield icon - basic shape is: * 1 3 * *************************** * *************************** * ** 2 4 ** * * * * 0 5 * * Defined by 6 points, must be passed in the order show above (i.e. a valid triangle strip) * */ void HudGaugeShield::renderShieldIcon(coord2d coords[6]) { int nx = 0, ny = 0, i; if ( gr_screen.rendering_to_texture != -1 ) { gr_set_screen_scale(canvas_w, canvas_h, -1, -1, target_w, target_h, target_w, target_h, true); } else { if ( reticle_follow ) { nx = HUD_nose_x; ny = HUD_nose_y; gr_resize_screen_pos(&nx, &ny); gr_set_screen_scale(base_w, base_h); gr_unsize_screen_pos(&nx, &ny); } else { gr_set_screen_scale(base_w, base_h); } } for (i = 0; i < 6; ++i) { coords[i].x += nx; coords[i].y += ny; } //gr_shield_icon(coords); g3_render_shield_icon(coords); gr_reset_screen_scale(); }
/* * Render a shield icon - basic shape is: * 1 3 * *************************** * *************************** * ** 2 4 ** * * * * 0 5 * * Defined by 6 points, must be passed in the order show above (i.e. a valid triangle strip) * */ void HudGaugeShield::renderShieldIcon(coord2d coords[6]) { int nx = 0, ny = 0, i; if ( gr_screen.rendering_to_texture != -1 ) { gr_set_screen_scale(canvas_w, canvas_h, -1, -1, target_w, target_h, target_w, target_h, true); // Respect the rendering display offset specified in the table nx = display_offset_x; ny = display_offset_y; // Transfer the offset position into actual texture coordinates gr_unsize_screen_pos(&nx, &ny); } else { if ( reticle_follow ) { nx = HUD_nose_x; ny = HUD_nose_y; gr_resize_screen_pos(&nx, &ny); gr_set_screen_scale(base_w, base_h); gr_unsize_screen_pos(&nx, &ny); } else { gr_set_screen_scale(base_w, base_h); } } for (i = 0; i < 6; ++i) { coords[i].x += nx; coords[i].y += ny; } //gr_shield_icon(coords); g3_render_shield_icon(coords); gr_reset_screen_scale(); }