From b9b6a3a54ca1f7221406d5c325ac6b29c6894a9b Mon Sep 17 00:00:00 2001 From: curt Date: Mon, 22 Mar 2010 00:55:34 +0000 Subject: [PATCH] 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! --- src/Aircraft/replay.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Aircraft/replay.cxx b/src/Aircraft/replay.cxx index 84663cc93..21c4a1d44 100644 --- a/src/Aircraft/replay.cxx +++ b/src/Aircraft/replay.cxx @@ -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;