src/AIModel/AIMultiplayer.cxx: can now log info about final mp position.
We log info about actual multiplayer speed for callsign that matches /sim/replay/log-raw-speed-multiplayer.
This commit is contained in:
parent
13a7eeef74
commit
3e9868093e
1 changed files with 33 additions and 0 deletions
|
@ -545,6 +545,39 @@ void FGAIMultiplayer::update(double dt)
|
||||||
SG_LOG(SG_AI, SG_DEBUG, "Multiplayer position and orientation: "
|
SG_LOG(SG_AI, SG_DEBUG, "Multiplayer position and orientation: "
|
||||||
<< ecPos << ", " << hlOr);
|
<< ecPos << ", " << hlOr);
|
||||||
|
|
||||||
|
{
|
||||||
|
static SGPropertyNode_ptr mLogRawSpeedMultiplayer;
|
||||||
|
if (!mLogRawSpeedMultiplayer) {
|
||||||
|
mLogRawSpeedMultiplayer = fgGetNode("/sim/replay/log-raw-speed-multiplayer", true);
|
||||||
|
}
|
||||||
|
const char* callsign = mLogRawSpeedMultiplayer->getStringValue();
|
||||||
|
if (callsign && callsign[0] && this->_callsign == callsign) {
|
||||||
|
static SGVec3d s_pos_prev;
|
||||||
|
static double s_simtime_prev = -1;
|
||||||
|
SGVec3d pos = ecPos;
|
||||||
|
double sim_time = fgGetDouble("/sim/replay/time");
|
||||||
|
if (s_simtime_prev != -1 && dt > 0) {
|
||||||
|
double dt = sim_time - s_simtime_prev;
|
||||||
|
double distance = length(pos - s_pos_prev);
|
||||||
|
double speed = distance / dt;
|
||||||
|
SGPropertyNode* n = fgGetNode("/sim/replay/log-raw-speed-multiplayer-post-values", true /*create*/);
|
||||||
|
n = n->addChild("value");
|
||||||
|
n->setDoubleValue(speed);
|
||||||
|
SG_LOG(SG_GENERAL, SG_ALERT, "Multiplayer-post aircraft callsign=" << _callsign << ":"
|
||||||
|
<< " sim_time=" << sim_time
|
||||||
|
<< " dt=" << dt
|
||||||
|
<< " distance=" << distance
|
||||||
|
<< " speed=" << speed
|
||||||
|
<< " s_pos_prev=" << s_pos_prev
|
||||||
|
<< " pos=" << pos
|
||||||
|
<< " n->getPath()=" << n->getPath(true /*simplify*/)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
s_simtime_prev = sim_time;
|
||||||
|
s_pos_prev = pos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//###########################//
|
//###########################//
|
||||||
// do calculations for radar //
|
// do calculations for radar //
|
||||||
//###########################//
|
//###########################//
|
||||||
|
|
Loading…
Add table
Reference in a new issue