1
0
Fork 0

Stomp out a long standing bug in the replay system. Originally we didn't

collect flight data while the replay was running, but along the way someone
(who shall remain nameless) tweaked a property name and didn't update the
name in the replay system.  This led to a problem where the replay system
continued to collect replayed data into the buffer while it replayed it,
leading to an infinite loop.  And then due to the tiered recording rate
system, you would never see the highly detailed final minute of your flight.
This is now fixed!
This commit is contained in:
curt 2010-03-22 00:55:34 +00:00 committed by Tim Moore
parent 89023eda69
commit b9b6a3a54c

View file

@ -142,17 +142,17 @@ void FGReplay::update( double dt ) {
timingInfo.clear();
stamp("begin");
static SGPropertyNode *replay_master
= fgGetNode( "/sim/freeze/replay", true );
= fgGetNode( "/sim/freeze/replay-state", true );
if( disable_replay->getBoolValue() ) {
if( sim_time != 0.0 ) {
if ( sim_time != 0.0 ) {
// we were recording data
init();
}
return;
}
//stamp("point_01");
if ( replay_master->getBoolValue() ) {
if ( replay_master->getIntValue() > 0 ) {
// don't record the replay session
return;
}
@ -177,9 +177,9 @@ void FGReplay::update( double dt ) {
r = new FGReplayData;
stamp("Replay_02");
} else {
r = recycler.front();
recycler.pop_front();
//stamp("point_04be");
r = recycler.front();
recycler.pop_front();
//stamp("point_04be");
}
r->sim_time = sim_time;
//r->ctrls = c;