diff --git a/src/Instrumentation/HUD/HUD_ladder.cxx b/src/Instrumentation/HUD/HUD_ladder.cxx index c99ea0e62..de80203ee 100644 --- a/src/Instrumentation/HUD/HUD_ladder.cxx +++ b/src/Instrumentation/HUD/HUD_ladder.cxx @@ -530,8 +530,8 @@ void HUD::Ladder::draw(void) draw_line(x_ini, y, x_end, y); draw_line(x_ini2, y, x_end2, y); - draw_text(x_ini - 3, y, buf, HUDText::VCENTER|HUDText::RIGHT); - draw_text(x_end2 + 3, y, buf, HUDText::VCENTER|HUDText::LEFT); + draw_text(x_ini - 2.0, y, buf, HUDText::VCENTER|HUDText::RIGHT); + draw_text(x_end2 + 2.0, y, buf, HUDText::VCENTER|HUDText::LEFT); } else if (i > 0) { //draw climb bar vertical lines @@ -549,8 +549,12 @@ void HUD::Ladder::draw(void) draw_zenith(0.0, y); } else { // i < 0 - y_end = y + sin(0.5 * i * SG_DEGREES_TO_RADIANS * 3/*hack*/) * - _compression; + float alpha = i * SG_DEGREES_TO_RADIANS / 2.0; + y_end = y + (x_end - x_ini) * sin(alpha); + + float w = (x_end - x_ini) * cos(alpha); + x_ini = x_end - w; + x_end2 = x_ini2 + w; // draw dive bar vertical lines draw_line(x_end, y + 5.0, x_end, y);