#include <sstream>
#include <simgear/math/SGGeometry.hxx>
-#include <Main/viewer.hxx>
+#include <Viewer/viewer.hxx>
+
#include "HUD.hxx"
+#include "HUD_private.hxx"
+
+#include <Main/fg_props.hxx>
+
+using std::string;
// FIXME
static float get__heading() { return fgGetFloat("/orientation/heading-deg") * M_PI / 180.0; }
//****************************************************************
//velocity vector reticle - computations
float xvvr, /* yvvr, */ Vxx = 0.0, Vyy = 0.0, Vzz = 0.0;
- float Axx = 0.0, Ayy = 0.0, Azz = 0.0, total_vel = 0.0, pot_slope, t1;
+ float Axx = 0.0, Ayy = 0.0, Azz = 0.0, total_vel = 0.0, pot_slope; //, t1;
float up_vel, ground_vel, actslope = 0.0, psi = 0.0;
float vel_x = 0.0, vel_y = 0.0, drift;
float alpha;
actslope = atan(up_vel / ground_vel) * SGD_RADIANS_TO_DEGREES;
}
- xvvr = (-drift * (_compression / globals->get_current_view()->get_aspect_ratio()));
+ xvvr = drift * _compression;
// drift = ((atan2(Vyy, Vxx) * SGD_RADIANS_TO_DEGREES) - psi);
// yvvr = (-alpha * _compression);
// vel_y = (-alpha * cos(roll_value) + drift * sin(roll_value)) * _compression;
// vel_x = (alpha * sin(roll_value) + drift * cos(roll_value))
// * (_compression / globals->get_current_view()->get_aspect_ratio());
vel_y = -alpha * _compression;
- vel_x = -drift * (_compression / globals->get_current_view()->get_aspect_ratio());
+ vel_x = drift * _compression;
// printf("%f %f %f %f\n",vel_x, vel_y, drift, psi);
//****************************************************************
SGPropertyNode *chld = models->getChild(i);
string name;
name = chld->getName();
- if (name == "aircraft" || name == "multiplayer") {
- string callsign = chld->getStringValue("callsign");
- if (callsign != "") {
+ if (name == "tanker" || name == "aircraft" || name == "multiplayer") {
+ bool valid = chld->getBoolValue("valid");
+ bool in_range = chld->getBoolValue("radar/in-range", true);
+ if (valid && in_range) {
float h_deg = chld->getFloatValue("radar/h-offset");
float v_deg = chld->getFloatValue("radar/v-offset");
float pos_x = (h_deg * cos(roll_value) -
if (_energy_marker) {
if (total_vel < 5.0) {
- t1 = 0;
+// t1 = 0;
t2 = 0;
} else {
- t1 = up_vel / total_vel;
+// t1 = up_vel / total_vel;
t2 = asin((Vxx * Axx + Vyy * Ayy + Vzz * Azz) / (9.81 * total_vel));
}
pot_slope = ((t2 / 3) * SGD_RADIANS_TO_DEGREES) * _compression + vel_y;