do_replay (const SGPropertyNode * arg)
{
// freeze the master fdm
- fgSetBool( "/sim/freeze/master", true );
- fgSetBool( "/sim/freeze/clock", true );
- fgSetBool( "/sim/replay/master", true );
+ fgSetBool( "/sim/freeze/replay", true );
FGReplay *r = (FGReplay *)(globals->get_subsystem( "replay" ));
float scene_farplane = 120000.0f;
static double delta_time_sec = 0.0;
-static double replay_dt_sec = 0.0;
#ifdef FG_WEATHERCM
void fgUpdateTimeDepCalcs() {
static bool inited = false;
- static const SGPropertyNode *replay
- = fgGetNode( "/sim/replay/master", true );
+ static const SGPropertyNode *replay_master
+ = fgGetNode( "/sim/freeze/replay", true );
static SGPropertyNode *replay_time
= fgGetNode( "/sim/replay/time", true );
static const SGPropertyNode *replay_end_time
inited = true;
}
- if ( ! replay->getBoolValue() ) {
+ if ( ! replay_master->getBoolValue() ) {
globals->get_autopilot()->update(delta_time_sec);
cur_fdm_state->update(delta_time_sec);
} else {
FGReplay *r = (FGReplay *)(globals->get_subsystem( "replay" ));
r->replay( replay_time->getDoubleValue() );
replay_time->setDoubleValue( replay_time->getDoubleValue()
- + replay_dt_sec );
+ + delta_time_sec );
}
} else {
// do nothing, fdm isn't inited yet
= fgGetNode("/sim/freeze/clock", true);
static const SGPropertyNode *cur_time_override
= fgGetNode("/sim/time/cur-time-override", true);
- static const SGPropertyNode *replay
- = fgGetNode("/sim/replay/master", true);
+ static const SGPropertyNode *replay_master
+ = fgGetNode("/sim/freeze/replay", true);
// Update the elapsed time.
static bool first_time = true;
}
delta_time_sec = double(current_time_stamp - last_time_stamp) / 1000000.0;
- if ( replay->getBoolValue() ) {
- replay_dt_sec = delta_time_sec;
- }
if ( clock_freeze->getBoolValue() ) {
delta_time_sec = 0;
}
#include <simgear/constants.h>
#include <FDM/flight.hxx>
+#include <Main/fg_props.hxx>
#include <Network/native_ctrls.hxx>
#include <Network/native_fdm.hxx>
#include <Network/net_ctrls.hxx>
*/
void FGReplay::update( double dt ) {
+ static SGPropertyNode *replay_master = fgGetNode( "/sim/freeze/replay" );
- if ( dt <= 0 ) {
- // don't save data if nothing is going on ...
-
+ if ( replay_master->getBoolValue() ) {
+ // don't record the replay session
return;
}