]> git.mxchange.org Git - flightgear.git/blobdiff - src/Replay/replay.cxx
MSVC fix
[flightgear.git] / src / Replay / replay.cxx
index bbf95eb7ac68d7a752db20d764eb16e1320c05e8..17cda3b711148eac967885f1c4391e21012dbd32 100644 (file)
@@ -2,7 +2,7 @@
 //
 // Written by Curtis Olson, started Juley 2003.
 //
-// Copyright (C) 2003  Curtis L. Olson  - curt@flightgear.org
+// Copyright (C) 2003  Curtis L. Olson  - http://www.flightgear.org/~curt
 //
 // This program is free software; you can redistribute it and/or
 // modify it under the terms of the GNU General Public License as
@@ -102,7 +102,8 @@ void FGReplay::unbind() {
  */
 
 void FGReplay::update( double dt ) {
-    static SGPropertyNode *replay_master = fgGetNode( "/sim/freeze/replay" );
+    static SGPropertyNode *replay_master
+        = fgGetNode( "/sim/freeze/replay", true );
 
     if ( replay_master->getBoolValue() ) {
         // don't record the replay session
@@ -266,7 +267,8 @@ static FGReplayData interpolate( double time, FGReplayData f1, FGReplayData f2 )
         result.fdm.rpm[i] = weight( fdm1.rpm[i], fdm2.rpm[i], ratio );
         result.fdm.fuel_flow[i]
             = weight( fdm1.fuel_flow[i], fdm2.fuel_flow[i], ratio );
-        result.fdm.EGT[i] = weight( fdm1.EGT[i], fdm2.EGT[i], ratio );
+        result.fdm.egt[i] = weight( fdm1.egt[i], fdm2.egt[i], ratio );
+        result.fdm.mp_osi[i] = weight( fdm1.mp_osi[i], fdm2.mp_osi[i], ratio );
         result.fdm.oil_temp[i]
             = weight( fdm1.oil_temp[i], fdm2.oil_temp[i], ratio );
         result.fdm.oil_px[i] = weight( fdm1.oil_px[i], fdm2.oil_px[i], ratio );
@@ -297,7 +299,8 @@ static FGReplayData interpolate( double time, FGReplayData f1, FGReplayData f2 )
 
     // Control surface positions (normalized values)
     result.fdm.elevator = weight( fdm1.elevator, fdm2.elevator, ratio );
-    result.fdm.flaps = weight( fdm1.flaps, fdm2.flaps, ratio );
+    result.fdm.left_flap = weight( fdm1.left_flap, fdm2.left_flap, ratio );
+    result.fdm.right_flap = weight( fdm1.right_flap, fdm2.right_flap, ratio );
     result.fdm.left_aileron
         = weight( fdm1.left_aileron, fdm2.left_aileron, ratio );
     result.fdm.right_aileron
@@ -315,11 +318,13 @@ static FGReplayData interpolate( double time, FGReplayData f1, FGReplayData f2 )
         = weight( ctrls1.elevator_trim, ctrls2.elevator_trim, ratio );
     result.ctrls.rudder = weight( ctrls1.rudder, ctrls2.rudder, ratio );
     result.ctrls.flaps = weight( ctrls1.flaps, ctrls2.flaps, ratio );
-    result.ctrls.flaps_power
-        = weight( ctrls1.flaps_power, ctrls2.flaps_power, ratio );
+    result.ctrls.flaps_power = ctrls1.flaps_power;
+    result.ctrls.flap_motor_ok = ctrls1.flap_motor_ok;
 
     // Engine controls
     for ( i = 0; i < ctrls1.num_engines; ++i ) {
+        result.ctrls.master_bat[i] = ctrls1.master_bat[i];
+        result.ctrls.master_alt[i] = ctrls1.master_alt[i];
         result.ctrls.magnetos[i] = ctrls1.magnetos[i];
         result.ctrls.starter_power[i] = ctrls1.starter_power[i];
         result.ctrls.throttle[i]
@@ -343,17 +348,17 @@ static FGReplayData interpolate( double time, FGReplayData f1, FGReplayData f2 )
     }
 
     // Brake controls
-    for ( i = 0; i < ctrls1.num_wheels; ++i ) {
-        result.ctrls.brake[i]
-            = weight( ctrls1.brake[i], ctrls2.brake[i], ratio );
-    }
+    result.ctrls.brake_left
+            = weight( ctrls1.brake_left, ctrls2.brake_right, ratio );
+    result.ctrls.brake_right
+            = weight( ctrls1.brake_right, ctrls2.brake_right, ratio );
+    result.ctrls.brake_parking
+            = weight( ctrls1.brake_parking, ctrls2.brake_parking, ratio );
 
     // Landing Gear
     result.ctrls.gear_handle = ctrls1.gear_handle;
 
     // Switches
-    result.ctrls.master_bat = ctrls1.master_bat;
-    result.ctrls.master_alt = ctrls1.master_alt;
     result.ctrls.turbulence_norm = ctrls1.turbulence_norm;
 
     // wind and turbulance