+ // OBJECT MOVING RETICLE
+ // TYPE LINE
+ // ATTRIB - ON CONDITION
+ if (lgear == 1) {
+ // undercarriage status
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(vel_x+8, vel_y);
+ glVertex2f(vel_x+8, vel_y-4);
+ glEnd();
+ // OBJECT MOVING RETICLE
+ // TYPE LINE
+ // ATTRIB - ON CONDITION
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(vel_x-8, vel_y);
+ glVertex2f(vel_x-8, vel_y-4);
+ glEnd();
+ // OBJECT MOVING RETICLE
+ // TYPE LINE
+ // ATTRIB - ON CONDITION
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(vel_x, vel_y-6);
+ glVertex2f(vel_x, vel_y-10);
+ glEnd();
+ }
+
+ // OBJECT MOVING RETICLE
+ // TYPE V
+ // ATTRIB - ON CONDITION
+ if (ihook == 1) {
+ // arrestor hook status
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(vel_x-4, vel_y-8);
+ glVertex2f(vel_x, vel_y-10);
+ glVertex2f(vel_x+4, vel_y-8);
+ glEnd();
+ }
+ }//if velocity_vector
+
+ //***************************************************************
+ // OBJECT MOVING RETICLE
+ // TYPE - SQUARE_BRACKET
+ // ATTRIB - ON CONDITION
+ // alpha bracket
+ if (alpha_bracket) {
+ if (ihook == 1) {
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(vel_x-20 , vel_y-(16-alpha)*factor);
+ glVertex2f(vel_x-17, vel_y-(16-alpha)*factor);
+ glVertex2f(vel_x-17, vel_y-(14-alpha)*factor);
+ glVertex2f(vel_x-20, vel_y-(14-alpha)*factor);
+ glEnd();
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(vel_x+20 , vel_y-(16-alpha)*factor);
+ glVertex2f(vel_x+17, vel_y-(16-alpha)*factor);
+ glVertex2f(vel_x+17, vel_y-(14-alpha)*factor);
+ glVertex2f(vel_x+20, vel_y-(14-alpha)*factor);
+ glEnd();
+ }
+ }
+ //printf("xvr=%f,yvr=%f,Vx=%f,Vy=%f,Vz=%f\n",xvvr,yvvr,Vx,Vy,Vz);
+ //printf("Ax=%f,Ay=%f,Az=%f\n",Ax,Ay,Az);
+ //****************************************************************
+ // OBJECT MOVING RETICLE
+ // TYPE ENERGY_MARKERS
+ // ATTRIB - ALWAYS
+ //energy markers - compute potential slope
+ if(energy_marker) {
+ if (total_vel < 5.0) {
+ t1 = 0;
+ t2 = 0;
+ } else {
+ t1 = up_vel/total_vel;
+ t2 = asin((Vxx*Axx + Vyy*Ayy + Vzz*Azz)/(9.81*total_vel));
+ }
+ pot_slope = ((t2/3)*RAD_TO_DEG)*factor + vel_y;
+ // if (pot_slope < (vel_y - 45)) pot_slope = vel_y-45;
+ // if (pot_slope > (vel_y + 45)) pot_slope = vel_y+45;
+
+ //energy markers
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(vel_x-20, pot_slope-5);
+ glVertex2f(vel_x-15, pot_slope);
+ glVertex2f(vel_x-20, pot_slope+5);
+ glEnd();
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(vel_x+20, pot_slope-5);
+ glVertex2f(vel_x+15, pot_slope);
+ glVertex2f(vel_x+20, pot_slope+5);
+ glEnd();
+ if (pla > (105.0/131.0)) {
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(vel_x-24, pot_slope-5);
+ glVertex2f(vel_x-19, pot_slope);
+ glVertex2f(vel_x-24, pot_slope+5);
+ glEnd();
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(vel_x+24, pot_slope-5);
+ glVertex2f(vel_x+19, pot_slope);
+ glVertex2f(vel_x+24, pot_slope+5);
+ glEnd();
+ }
+ }
+ //**********************************************************
+ // ramp reticle
+ // OBJECT STATIC RETICLE
+ // TYPE LINE
+ // ATTRIB - ON CONDITION
+ if (energy_worm) {
+ if (ilcanclaw == 1) {
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(-15, -134);
+ glVertex2f(15, -134);
+ glEnd();
+ // OBJECT MOVING RETICLE
+ // TYPE BOX
+ // ATTRIB - ON CONDITION
+ glBegin(GL_LINE_STRIP);
+ glVertex2f(-6, -134);
+ glVertex2f(-6, t2*RAD_TO_DEG*4.0 - 134);
+ glVertex2f(+6, t2*RAD_TO_DEG*4.0 - 134);
+ glVertex2f(6, -134);
+ glEnd();
+ // OBJECT MOVING RETICLE
+ // TYPE DIAMOND
+ // ATTRIB - ON CONDITION
+ glBegin(GL_LINE_LOOP);
+ glVertex2f(-6, actslope*4.0 - 134);
+ glVertex2f(0, actslope*4.0 -134 +3);
+ glVertex2f(6, actslope*4.0 - 134);
+ glVertex2f(0, actslope*4.0 -134 -3);
+ glEnd();
+ }
+ }
+ //*************************************************************
+ // OBJECT MOVING RETICLE
+ // TYPE DIAMOND
+ // ATTRIB - ALWAYS
+ // Draw the locked velocity vector.
+ if(climb_dive_marker) {
+ glBegin(GL_LINE_LOOP);
+ glVertex2f( -3.0, 0.0+vel_y);
+ glVertex2f(0.0, 6.0+vel_y);
+ glVertex2f( 3.0, 0.0+vel_y);
+ glVertex2f(0.0, -6.0+vel_y);
+ glEnd();